+
    ‹°³j,  ã                   óÐ  € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHtHtHtHt ^ R	IHt  ! R
 R]	4      t]R 4       t]P3                  ]4      R 4       t]P3                  ]4      R 4       t]P3                  ]4      RR l4       t]P3                  ]4      RR l4       t]P3                  ]4      RR l4       t]P3                  ]4      RR l4       tR# )é    )Úsingledispatch)Úpi)Útan)Útrigsimp)ÚBasicÚTuple)Ú_symbol)Úsolve)ÚPointÚSegmentÚCurveÚEllipseÚPolygon)ÚImplicitRegionc                   óv   a a€ ] tR t^t oRtV 3R lt]R 4       t]R 4       t]R 4       t	]R 4       t
RtVtV ;t# )ÚParametricRegiona   
Represents a parametric region in space.

Examples
========

>>> from sympy import cos, sin, pi
>>> from sympy.abc import r, theta, t, a, b, x, y
>>> from sympy.vector import ParametricRegion

>>> ParametricRegion((t, t**2), (t, -1, 2))
ParametricRegion((t, t**2), (t, -1, 2))
>>> ParametricRegion((x, y), (x, 3, 4), (y, 5, 6))
ParametricRegion((x, y), (x, 3, 4), (y, 5, 6))
>>> ParametricRegion((r*cos(theta), r*sin(theta)), (r, -2, 2), (theta, 0, pi))
ParametricRegion((r*cos(theta), r*sin(theta)), (r, -2, 2), (theta, 0, pi))
>>> ParametricRegion((a*cos(t), b*sin(t)), t)
ParametricRegion((a*cos(t), b*sin(t)), t)

>>> circle = ParametricRegion((r*cos(theta), r*sin(theta)), r, (theta, 0, pi))
>>> circle.parameters
(r, theta)
>>> circle.definition
(r*cos(theta), r*sin(theta))
>>> circle.limits
{theta: (0, pi)}

Dimension of a parametric region determines whether a region is a curve, surface
or volume region. It does not represent its dimensions in space.

>>> circle.dimensions
1

Parameters
==========

definition : tuple to define base scalars in terms of parameters.

bounds : Parameter or a tuple of length 3 to define parameter and corresponding lower and upper bound.

c                óÄ  <€ Rp/ p\        V\        4      '       g
   \        V!  pV Fp  p\        V\        \        34      '       dI   \        V4      ^8w  d   \	        R4      hW5^ ,          3,          pV^,          V^,          3WE^ ,          &   Kg  W53,          pKr  	  \        V\        \        34      '       g   V3p\
        SV `  ! V \        V!  .VO5!  pW6n        WFn        V# )é   z?Tuple should be in the form (parameter, lowerbound, upperbound)© )	Ú
isinstancer   ÚtupleÚlenÚ
ValueErrorÚsuperÚ__new__Ú_parametersÚ_limits)ÚclsÚ
definitionÚboundsÚ
parametersÚlimitsÚboundÚobjÚ	__class__s   &&*    €Ú^/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/vector/parametricregion.pyr   ÚParametricRegion.__new__6   sÉ   ø€ Øˆ
Øˆä˜&¤%×(Ò(Ü˜F‘^ˆFãˆEÜ˜%¤%¬ ×0Ò0Ü�u“: ”?Ü$Ð%fÓgÐgØ Q�x˜kÕ)�
Ø$)¨!¥H¨e°A­hÐ#7�˜Q•xÓ à˜hÕ&’
ñ ô ˜*¤u¬e n×5Ò5Ø$˜ˆJä‰gŠo˜c¤5¨*Ñ#5Ð?¸Ó?ˆØ$ŒØŒàˆ
ó    c                ó(   € V P                   ^ ,          # ©r   )Úargs©Úselfs   &r&   r   ÚParametricRegion.definitionO   s   € à�y‰y˜�|Ðr(   c                ó   € V P                   # ©N)r   r,   s   &r&   r"   ÚParametricRegion.limitsS   s   € à�|‰|Ðr(   c                ó   € V P                   # r0   )r   r,   s   &r&   r!   ÚParametricRegion.parametersW   s   € à×ÑÐr(   c                ó,   € \        V P                  4      # r0   )r   r"   r,   s   &r&   Ú
dimensionsÚParametricRegion.dimensions[   s   € ä�4—;‘;ÓÐr(   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úpropertyr   r"   r!   r5   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r%   Ú__classdict__s   @@r&   r   r      se   ù‡ € ñ(õRð2 ñó ðð ñó ðð ñ ó ð ð ñ ó ÷ ð  r(   r   c                ó   € \        R4      h)aò  
Returns a list of ParametricRegion objects representing the geometric region.

Examples
========

>>> from sympy.abc import t
>>> from sympy.vector import parametric_region_list
>>> from sympy.geometry import Point, Curve, Ellipse, Segment, Polygon

>>> p = Point(2, 5)
>>> parametric_region_list(p)
[ParametricRegion((2, 5))]

>>> c = Curve((t**3, 4*t), (t, -3, 4))
>>> parametric_region_list(c)
[ParametricRegion((t**3, 4*t), (t, -3, 4))]

>>> e = Ellipse(Point(1, 3), 2, 3)
>>> parametric_region_list(e)
[ParametricRegion((2*cos(t) + 1, 3*sin(t) + 3), (t, 0, 2*pi))]

>>> s = Segment(Point(1, 3), Point(2, 6))
>>> parametric_region_list(s)
[ParametricRegion((t + 1, 3*t + 3), (t, 0, 1))]

>>> p1, p2, p3, p4 = [(0, 1), (2, -3), (5, 3), (-2, 3)]
>>> poly = Polygon(p1, p2, p3, p4)
>>> parametric_region_list(poly)
[ParametricRegion((2*t, 1 - 4*t), (t, 0, 1)), ParametricRegion((3*t + 2, 6*t - 3), (t, 0, 1)),     ParametricRegion((5 - 7*t, 3), (t, 0, 1)), ParametricRegion((2*t - 2, 3 - 2*t),  (t, 0, 1))]

z?SymPy cannot determine parametric representation of the region.)r   )Úregs   &r&   Úparametric_region_listrC   `   s   € ôF ÐVÓ
WÐWr(   c                 ó.   € \        V P                  4      .# r0   )r   r+   )r$   s   &r&   Ú_rE   †   s   € ä˜SŸX™XÓ&Ð'Ð'r(   c                 ó|   € V P                  V P                  4      P                  pV P                  p\	        W4      .# r0   )Úarbitrary_pointÚ	parameterr+   r"   r   )r$   r   r    s   &  r&   rE   rE   ‹   s3   € à×$Ñ$ S§]¡]Ó3×8Ñ8€JØ�Z‰Z€FÜ˜ZÓ0Ð1Ð1r(   c                 óŠ   € V P                  V4      P                  p\        VR R7      pV^ ^\        ,          3p\	        W$4      .# ©T©Úreal)rG   r+   r	   r   r   )r$   rH   r   Útr    s   &&   r&   rE   rE   ’   sA   € à×$Ñ$ YÓ/×4Ñ4€JÜ�	 Ô%€AØ��A”b•Dˆ\€FÜ˜ZÓ0Ð1Ð1r(   c                 ó   € \        VR R7      pV P                  V4      P                  p\        ^ ^4       F¯  p\	        W4,          V P
                  ^ ,          P                  V,          ,
          V4      p\	        W4,          V P
                  ^,          P                  V,          ,
          V4      p\        V4      ^8X  g   K‹  \        V4      ^8X  g   K�  W%^ ,          V^ ,          3p M	  V P                  V4      P                  p\        VX4      .# rJ   )r	   rG   r+   Úranger
   Úpointsr   r   )	r$   rH   rM   r   ÚiÚlower_boundÚupper_boundr    Údefinition_tuples	   &&       r&   rE   rE   š   sØ   € ä�	 Ô%€AØ×$Ñ$ QÓ'×,Ñ,€Jä�1�aŽ[ˆÜ˜J�M¨C¯J©J°q­M×,>Ñ,>¸qÕ,AÕAÀ1ÓEˆÜ˜J�M¨C¯J©J°q­M×,>Ñ,>¸qÕ,AÕAÀ1ÓEˆäˆ{Ó˜qÖ ¤S¨Ó%5¸Ö%:Ø A�¨°A­Ð6ˆFÙñ ð ×*Ñ*¨9Ó5×:Ñ:ÐÜÐ-¨vÓ6Ð7Ð7r(   c                 óf   € V P                    Uu. uF  p\        W!4      ^ ,          NK  	  ppV# u upi r*   )ÚsidesrC   )r$   rH   ÚsideÚls   &&  r&   rE   rE   «   s3   € à@CÇ	Â	ÓJÁ	¸Ô	 Ó	0°×	3Ð	3Á	€AÐJØ€Hùò 	Ks   �.c                 ó�  € V P                  V4      p. p\        \        V P                  4      ^,
          4       Fo  p\	        W,          RR7      pV Uu. uF.  p\        VP                  V\        V^,          4      4      4      NK0  	  ppVP                  V^ ^\        ,          34       Kq  	  \        V!  p\        V.VO5!  .# u upi )é   TrK   )Úrational_parametrizationrO   r   Ú	variablesr	   r   Úsubsr   Úappendr   r   r   )r$   r!   r   r    rQ   rH   Úelems   &&     r&   rE   rE   ±   s­   € à×-Ñ-¨jÓ9€JØ€Fä”3�s—}‘}Ó%¨Õ)Ö*ˆä˜J�M°Ô5ˆ	ÙS]Ó^ÑS]È4”h˜tŸy™y¨´C¸	À!½Ó4DÓEÖFÑS]ˆ
Ð^Ø�‰�y ! Q¤r¥TÐ*Ö,ñ	 +ô ˜
Ñ#€JÜ˜ZÐ1¨&Ó1Ð2Ð2ùò	 _s   Á4CN)rM   ))rM   Ús)Ú	functoolsr   Úsympy.core.numbersr   Ú(sympy.functions.elementary.trigonometricr   Úsympy.simplifyr   Ú
sympy.corer   r   Úsympy.core.symbolr	   Úsympy.solversr
   Úsympy.geometryr   r   r   r   r   Úsympy.vectorr   r   rC   ÚregisterrE   r   r(   r&   Ú<module>rk      s  ðÝ $Ý !Ý 8Ý #ß #Ý %Ý ß BÕ BÝ 'ôQ �uô Q ðh ñ"Xó ð"XðJ × Ñ  Ó'ñ(ó (ð(ð × Ñ  Ó'ñ2ó (ð2ð × Ñ  Ó)ó2ó *ð2ð × Ñ  Ó)ó8ó *ð8ð  × Ñ  Ó)óó *ðð
 × Ñ  Ó0ó3ó 1ò3r(   