ó
    pñ:i…  ã                   óv   • S SK rS SKJr  / SQr\S	S j5       rS r\S	S j5       r\S	S j5       r	\S	S j5       r
g)
é    N)Ú	decorator)Údelaunay_plot_2dÚconvex_hull_plot_2dÚvoronoi_plot_2dc                 ó<  • SS K Jn  Uc+  UR                  5       nUR                  5       nU " U4SU0UD6$ [	        USS 5      " 5       nU(       a  U " U4SU0UD6$  UR                  S5        U " U4SU0UD6UR                  U5        $ ! UR                  U5        f = f)Nr   ÚaxÚisholdc                  ó   • g)NT© r   ó    Ú[/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/scipy/spatial/_plotutils.pyÚ<lambda>Ú_held_figure.<locals>.<lambda>   s   € ¨Tr   T)Úmatplotlib.pyplotÚpyplotÚfigureÚgcaÚgetattrÚhold)ÚfuncÚobjr   ÚkwÚpltÚfigÚwas_helds          r   Ú_held_figurer      s›   € å#à	�zØ�j‰j‹lˆØ�W‰W‹YˆÙ�CÑ%˜BÐ% "Ñ%Ð%ô �r˜8¡\Ô2Ó4€HÞÙ�CÑ%˜BÐ% "Ñ%Ð%ðØ
�‰�ŒÙ�CÑ%˜BÐ% "Ñ%à
�‰�Õøˆ�‰�Õús   ÁB ÂBc                 óÜ   • S[         R                  " USS9-  nUR                  SS9U-
  nUR                  SS9U-   nU R	                  US   US   5        U R                  US   US   5        g )Ngš™™™™™¹?r   ©Úaxisé   )ÚnpÚptpÚminÚmaxÚset_xlimÚset_ylim)r   ÚpointsÚmarginÚxy_minÚxy_maxs        r   Ú_adjust_boundsr+      sm   € Ø”2—6’6˜& qÑ)Ñ)€FØ�Z‰Z˜QˆZÐ &Ñ(€FØ�Z‰Z˜QˆZÐ &Ñ(€FØ‡K�K��q‘	˜6 !™9Ô%Ø‡K�K��q‘	˜6 !™9Õ%r   c                 ó<  • U R                   R                  S   S:w  a  [        S5      eU R                   R                  u  p#UR	                  X#S5        UR                  X#U R                  R                  5       5        [        XR                   5        UR                  $ )aÆ  
Plot the given Delaunay triangulation in 2-D

Parameters
----------
tri : scipy.spatial.Delaunay instance
    Triangulation to plot
ax : matplotlib.axes.Axes instance, optional
    Axes to plot on

Returns
-------
fig : matplotlib.figure.Figure instance
    Figure for the plot

See Also
--------
Delaunay
matplotlib.pyplot.triplot

Notes
-----
Requires Matplotlib.

Examples
--------

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.spatial import Delaunay, delaunay_plot_2d

The Delaunay triangulation of a set of random points:

>>> rng = np.random.default_rng()
>>> points = rng.random((30, 2))
>>> tri = Delaunay(points)

Plot it:

>>> _ = delaunay_plot_2d(tri)
>>> plt.show()

r    é   z!Delaunay triangulation is not 2-DÚo)
r'   ÚshapeÚ
ValueErrorÚTÚplotÚtriplotÚ	simplicesÚcopyr+   r   )Útrir   ÚxÚys       r   r   r   $   sv   € ðZ ‡z�z×Ñ˜Ñ˜aÓÜÐ<Ó=Ð=à�:‰:�<‰<�D€AØ‡G�GˆA�#ÔØ‡J�Jˆq�S—]‘]×'Ñ'Ó)Ô*ä�2—z‘zÔ"à�9‰9Ðr   c                 ó’  • SSK Jn  U R                  R                  S   S:w  a  [	        S5      eUR                  U R                  SS2S4   U R                  SS2S4   S5        U R                   Vs/ s H  o0R                  U   PM     nnUR                  U" USS	S
95        [        XR                  5        UR                  $ s  snf )a®  
Plot the given convex hull diagram in 2-D

Parameters
----------
hull : scipy.spatial.ConvexHull instance
    Convex hull to plot
ax : matplotlib.axes.Axes instance, optional
    Axes to plot on

Returns
-------
fig : matplotlib.figure.Figure instance
    Figure for the plot

See Also
--------
ConvexHull

Notes
-----
Requires Matplotlib.


Examples
--------

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.spatial import ConvexHull, convex_hull_plot_2d

The convex hull of a random set of points:

>>> rng = np.random.default_rng()
>>> points = rng.random((30, 2))
>>> hull = ConvexHull(points)

Plot it:

>>> _ = convex_hull_plot_2d(hull)
>>> plt.show()

r   ©ÚLineCollectionr    r-   zConvex hull is not 2-DNr.   ÚkÚsolid)ÚcolorsÚ	linestyle)
Úmatplotlib.collectionsr;   r'   r/   r0   r2   r4   Úadd_collectionr+   r   )Úhullr   r;   ÚsimplexÚline_segmentss        r   r   r   ]   s¯   € õZ 6à‡{�{×Ñ˜Ñ˜qÓ ÜÐ1Ó2Ð2à‡G�GˆD�K‰Kš˜1˜Ñ˜tŸ{™{ª1¨a¨4Ñ0°#Ô6Ø9=¿ºÓHº¨g—[‘[ Ô)¹€MÐHØ×Ñ‘n ]Ø,/Ø/6ñ8ô 9ô �2—{‘{Ô#à�9‰9Ðùò Is   Á2Cc           
      óº  • SSK Jn  U R                  R                  S   S:w  a  [	        S5      eUR                  SS5      (       aF  UR                  SS	5      nUR                  U R                  S	S	2S4   U R                  S	S	2S4   S
US9  UR                  SS5      (       a5  UR                  U R                  S	S	2S4   U R                  S	S	2S4   S5        UR                  SS5      nUR                  SS5      nUR                  SS5      nU R                  R                  SS9n[        R                  " U R                  SS9n	/ n
/ n[        U R                  U R                  5       GH›  u  pÍ[        R                  " U5      n[        R                  " US:¬  5      (       a   U
R!                  U R                  U   5        MZ  XÝS:¬     S   nU R                  US      U R                  US      -
  nU[        R"                  R%                  U5      -  n[        R&                  " US   * US   /5      nU R                  U   R                  SS9n[        R(                  " [        R*                  " UU-
  U5      5      U-  nU R,                  (       a  U* n[/        U	R1                  5       U	R3                  5       -  5      nU R                  U   UU	R1                  5       -  U-  -   nUR!                  U R                  U   U/5        GMž     UR5                  U" U
UUUSS95        UR5                  U" UUUUSS95        [7        XR                  5        UR8                  $ )a™  
Plot the given Voronoi diagram in 2-D

Parameters
----------
vor : scipy.spatial.Voronoi instance
    Diagram to plot
ax : matplotlib.axes.Axes instance, optional
    Axes to plot on
show_points : bool, optional
    Add the Voronoi points to the plot.
show_vertices : bool, optional
    Add the Voronoi vertices to the plot.
line_colors : string, optional
    Specifies the line color for polygon boundaries
line_width : float, optional
    Specifies the line width for polygon boundaries
line_alpha : float, optional
    Specifies the line alpha for polygon boundaries
point_size : float, optional
    Specifies the size of points

Returns
-------
fig : matplotlib.figure.Figure instance
    Figure for the plot

See Also
--------
Voronoi

Notes
-----
Requires Matplotlib. For degenerate input, including collinearity and
other violations of general position, it may be preferable to
calculate the Voronoi diagram with Qhull options ``QJ`` for random
joggling, or ``Qt`` to enforce triangulated output. Otherwise, some
Voronoi regions may not be visible.

Examples
--------
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> from scipy.spatial import Voronoi, voronoi_plot_2d

Create a set of points for the example:

>>> rng = np.random.default_rng()
>>> points = rng.random((10,2))

Generate the Voronoi diagram for the points:

>>> vor = Voronoi(points)

Use `voronoi_plot_2d` to plot the diagram:

>>> fig = voronoi_plot_2d(vor)

Use `voronoi_plot_2d` to plot the diagram again, with some settings
customized:

>>> fig = voronoi_plot_2d(vor, show_vertices=False, line_colors='orange',
...                       line_width=2, line_alpha=0.6, point_size=2)
>>> plt.show()

r   r:   r    r-   zVoronoi diagram is not 2-DÚshow_pointsTÚ
point_sizeNÚ.)Ú
markersizeÚshow_verticesr.   Úline_colorsr<   Ú
line_widthg      ð?Ú
line_alphar   r=   )r>   ÚlwÚalphar?   Údashed)r@   r;   r'   r/   r0   Úgetr2   ÚverticesÚmeanr!   r"   ÚzipÚridge_pointsÚridge_verticesÚasarrayÚallÚappendÚlinalgÚnormÚarrayÚsignÚdotÚfurthest_siteÚabsr$   r#   rA   r+   r   )Úvorr   r   r;   rG   rK   rL   rM   ÚcenterÚ	ptp_boundÚfinite_segmentsÚinfinite_segmentsÚpointidxrC   ÚiÚtÚnÚmidpointÚ	directionÚaspect_factorÚ	far_points                        r   r   r   ™   sã  € õH 6à
‡z�z×Ñ˜Ñ˜aÓÜÐ5Ó6Ð6à	‡v�vˆm˜T×"Ñ"Ø—V‘V˜L¨$Ó/ˆ
Ø
�‰�—
‘
š1˜a˜4Ñ  #§*¡*ªQ°¨TÑ"2°CÀJˆÑOØ	‡v�vˆo˜t×$Ñ$Ø
�‰�—‘šQ ˜TÑ" C§L¡L²°A°Ñ$6¸Ô<à—&‘&˜¨Ó,€KØ—‘˜ cÓ*€JØ—‘˜ cÓ*€Jà�Z‰Z�_‰_ !ˆ_Ð$€FÜ—’�s—z‘z¨Ñ*€Ià€OØÐÜ  ×!1Ñ!1°3×3EÑ3E×FÑˆÜ—*’*˜WÓ%ˆÜ�6Š6�'˜Q‘,×ÑØ×"Ñ" 3§<¡<°Ñ#8Ö9à 1™Ñ% aÑ(ˆAà—
‘
˜8 A™;Ñ'¨#¯*©*°X¸a±[Ñ*AÑAˆAØ”—‘—‘ Ó"Ñ"ˆAÜ—’˜1˜Q™4˜%  1¡˜Ó'ˆAà—z‘z (Ñ+×0Ñ0°aÐ0Ð8ˆHÜŸš¤§¢ x°&Ñ'8¸!Ó <Ó=ÀÑAˆIØ×!×!Ø&˜J�	Ü 	§¡£°)·-±-³/Ñ AÓBˆMØŸ™ Q™¨)°i·m±m³oÑ*EÈÑ*UÑUˆIà×$Ñ$ c§l¡l°1¡o°yÐ%A×Bñ% Gð( ×Ñ‘n _Ø,7Ø(2Ø+5Ø/6ñ	8ô 9ð
 ×Ñ‘nÐ%6Ø,7Ø(2Ø+5Ø/7ñ	9ô :ô �2—z‘zÔ"à�9‰9Ðr   )N)Únumpyr!   Úscipy._lib.decoratorr   Ú
_decoratorÚ__all__r   r+   r   r   r   r   r   r   Ú<module>rr      si   ðÛ Ý 8â
H€ð óó ðò(&ð ó5ó ð5ðp ó8ó ð8ðv óxó ñxr   