+
    i,                        ^ 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   &&*    [/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/vector/parametricregion.pyr   ParametricRegion.__new__6   s    
&%((F^FE%%00u:?$%fggQxk)
$)!HeAh#7Qx h&
  *uen55$Jgoc5*#5??$
    c                (    V P                   ^ ,          # r   )argsselfs   &r&   r   ParametricRegion.definitionO   s    yy|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    SXX&''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8JZZF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4J	%AAbD\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1a[JMCJJqM,>,>q,AA1EJMCJJqM,>,>q,AA1E{q S%5%:AA6F  **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9JF3s}}%)*JM5	S]^S]4htyyC	!4DEFS]
^y!QrT*,	 + 
#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(   