+
    bIi#                         R t Rt^ RIHtHtHtHt R tRR ltRR lt	RR lt
R tR tRR ltR	 tR
 tR tR tR tR tR# )z'functions for 2D affine transformations)cossintanradiansc                      R# )   )r       r   r   r   r    r	       څC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\reportlab/graphics/transform.pynullTransformr      s    r
   c                     ^^ ^ ^W3# r   r	   )dxdys   &&r   	translater      s    q!Qr
   c                     V ^ ^ V^ ^ 3# r   r	   )sxsys   &&r   scaler      s    1b!Qr
   c                 R    \        V 4      p\        V4      p\        V4      pWTV) WQV3# N)r   r   r   )anglecxcyasinacosas   &&&   r   rotater      s.    Aq6Dq6Dt,,r
   c                 6    ^^ \        \        V 4      4      ^^ ^ 3# r   r   r   r   s   &r   skewXr#   "   s    q#gen%q!Q//r
   c                 6    ^\        \        V 4      4      ^ ^^ ^ 3# r   r!   r"   s   &r   skewYr%   %   s    s75>"Aq!Q//r
   c                 d    V'       d   \        \        V 4      \        V4      4      # \        V 4      # r   )mmultr#   r%   )axays   &&r   skewr*   (   s$    	U2YuRy))Ryr
   c           	        V ^ ,          V^ ,          ,          V ^,          V^,          ,          ,           V ^,          V^ ,          ,          V ^,          V^,          ,          ,           V ^ ,          V^,          ,          V ^,          V^,          ,          ,           V ^,          V^,          ,          V ^,          V^,          ,          ,           V ^ ,          V^,          ,          V ^,          V^,          ,          ,           V ^,          ,           V ^,          V^,          ,          V ^,          V^,          ,          ,           V ^,          ,           3# )zA postmultiplied by Br	   )ABs   &&r   r'   r'   .   s     aD1I!QqT	!aD1I!QqT	!aD1I!QqT	!aD1I!QqT	!aD1I!QqT	!AaD(aD1I!QqT	!AaD(* *r
   c                   \        V ^ ,          V ^,          ,          V ^,          V ^,          ,          ,
          4      pV ^,          V,          V ^,          ) V,          V ^,          ) V,          V ^ ,          V,          .p\        W"^ ,          ) V ^,          ,          V^,          V ^,          ,          ,
          V^,          ) V ^,          ,          V^,          V ^,          ,          ,
          .,           4      # )zBFor A affine 2D represented as 6vec return 6vec version of A**(-1))floattuple)r,   detRs   &  r   inverser3   <   s     !QqT	AaD1I%
&C	
1cAaD59qteCi1c2AqTE!A$JqtAaDy(!A$qtAaD1I)=>>??r
   c                    V ^ ,          V^ ,          ,          V ^,          V^,          ,          ,           V ^,          V^ ,          ,          V ^,          V^,          ,          ,           3# )zBApply the homogenous part of atransformation a to vector v --> A*vr	   r,   vs   &&r   zTransformPointr7   C   sG    aD1Iad1Q4i!QqT	!A$qt) 344r
   c                   V ^ ,          V^ ,          ,          V ^,          V^,          ,          ,           V ^,          ,           V ^,          V^ ,          ,          V ^,          V^,          ,          ,           V ^,          ,           3# )z*Apply transformation a to vector v --> A*vr	   r5   s   &&r   transformPointr9   G   sY    aD1Iad1Q4i!$QqT!A$YqtAaDy%81%=>>r
   c                     V Uu. uF  p\        W4      NK  	  pp\        V\        4      '       d   \        V4      pV# u upi r   )r9   
isinstancer0   )matrixVr6   rs   &&  r   transformPointsr?   K   s:    +,-1a	!1A-!EaAH 	.s   >c                 4    \        \        V 3R  lV4      4      # )c                     \        W4      # r   )r7   )xr<   s   &&r   <lambda>"zTransformPoints.<locals>.<lambda>Q   s	    OF,Er
   )listmap)r<   r=   s   &&r   zTransformPointsrG   P   s    FEqIJJr
   N)r   r   r   r   r#   r%   r'   r3   r7   r9   r?   rG   r   r   )r   r   )__doc____all__mathr   r   r   r   r   r   r   r   r#   r%   r*   r'   r3   r7   r9   r?   rG   r	   r
   r   <module>rK      sZ    - ( '  -00*@5?
Kr
   