
    g                     l    S r SrSSKJrJrJrJr  S rS rS r	S r
S rS	 rS
 rS rS rS rS rS rg)z'functions for 2D affine transformations)nullTransform	translatescalerotateskewXskewYmmultinversezTransformPointtransformPointtransformPointszTransformPoints    )cossintanradiansc                      g)N)   r   r   r   r   r    r       d/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/reportlab/graphics/transform.pyr   r      s    r   c                     SSSSX4$ Nr   r   r   )dxdys     r   r   r      s    q!Qr   c                     U SSUSS4$ Nr   r   )sxsys     r   r   r      s    1b!Qr   c                 T    [        U 5      n[        U5      n[        U5      nX2U* USS4$ r   )r   r   r   )angleasinacosas       r   r   r      s0    Aq6Dq6DtQ**r   c                 6    SS[        [        U 5      5      SSS4$ r   r   r   r!   s    r   r   r   "   s    q#gen%q!Q//r   c                 6    S[        [        U 5      5      SSSS4$ r   r&   r'   s    r   r   r   %   s    s75>"Aq!Q//r   c           	      &   U S   US   -  U S   US   -  -   U S   US   -  U S   US   -  -   U S   US   -  U S   US   -  -   U S   US   -  U S   US   -  -   U S   US   -  U S   US   -  -   U S   -   U S   US   -  U S   US   -  -   U S   -   4$ )zA postmultiplied by Br      r            r   )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                     [        U S   U S   -  U S   U S   -  -
  5      nU S   U-  U S   * U-  U S   * U-  U S   U-  /n[        X"S   * U S   -  US   U S   -  -
  US   * U S   -  US   U S   -  -
  /-   5      $ )zBFor A affine 2D represented as 6vec return 6vec version of A**(-1)r   r+   r*   r   r,   r-   )floattuple)r.   detRs      r   r	   r	   6   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                 ^    U S   US   -  U S   US   -  -   U S   US   -  U S   US   -  -   4$ )zBApply the homogenous part of atransformation a to vector v --> A*vr   r*   r   r+   r   r.   vs     r   r
   r
   =   sG    aD1Iad1Q4i!QqT	!A$qt) 344r   c                 v    U S   US   -  U S   US   -  -   U S   -   U S   US   -  U S   US   -  -   U S   -   4$ )z*Apply transformation a to vector v --> A*vr   r*   r   r,   r+   r-   r   r6   s     r   r   r   A   sY    aD1Iad1Q4i!$QqT!A$YqtAaDy%81%=>>r   c                     U Vs/ s H  n[        X5      PM     nn[        U[        5      (       a  [        U5      nU$ s  snf N)r   
isinstancer2   )matrixVr7   rs       r   r   r   E   s:    +,-1a	!1A-!EaAH 	.s   >c                 4    [        [        U 4S jU5      5      $ )Nc                     [        X5      $ r:   )r
   )xr<   s     r   <lambda>"zTransformPoints.<locals>.<lambda>K   s	    OF,Er   )listmap)r<   r=   s     r   r   r   J   s    FEqIJJr   N)__doc____all__mathr   r   r   r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   <module>rI      sU    - ( '  +00*@5?
Kr   