
    kf                     n    d Z dZddlmZmZmZmZ d Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd ZdS )z'functions for 2D affine transformations)nullTransform	translatescalerotateskewXskewYmmultinversezTransformPointtransformPointtransformPointszTransformPoints    )cossintanradiansc                      dS )N)   r   r   r   r   r    r       \/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/reportlab/graphics/transform.pyr   r      s    r   c                     dddd| |fS Nr   r   r   )dxdys     r   r   r      s    q!QBr   c                     | dd|ddfS Nr   r   )sxsys     r   r   r      s    1b!Qr   c                 n    t          |           }t          |          }t          |          }||| |ddfS r   )r   r   r   )angleasinacosas       r   r   r      s8    Aq66Dq66D$tQ**r   c                 F    ddt          t          |                     dddfS r   r   r   r!   s    r   r   r   "   s#    q#genn%%q!Q//r   c                 F    dt          t          |                     ddddfS r   r&   r'   s    r   r   r   %   s#    s75>>""Aq!Q//r   c           	         | d         |d         z  | d         |d         z  z   | d         |d         z  | d         |d         z  z   | d         |d         z  | d         |d         z  z   | d         |d         z  | d         |d         z  z   | d         |d         z  | d         |d         z  z   | d         z   | d         |d         z  | d         |d         z  z   | d         z   fS )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                 j   t          | d         | d         z  | d         | d         z  z
            }| d         |z  | d          |z  | d          |z  | d         |z  g}t          ||d          | d         z  |d         | d         z  z
  |d          | d         z  |d         | d         z  z
  gz             S )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QqTE!A$JqtAaDy(!A$qtAaD1I)=>>???r   c                     | d         |d         z  | d         |d         z  z   | d         |d         z  | d         |d         z  z   fS )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                     | d         |d         z  | d         |d         z  z   | d         z   | d         |d         z  | d         |d         z  z   | d         z   fS )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                 l      fd|D             }t          |t                    rt          |          }|S )Nc                 0    g | ]}t          |          S r   )r   ).0r7   matrixs     r   
<listcomp>z#transformPoints.<locals>.<listcomp>F   s#    ---aq	!	!---r   )
isinstancer2   )r<   Vrs   `  r   r   r   E   s;    ----1---A!E(aAHr   c                 B    t          t          | fd|                    S )Nc                 "    t          ||           S )N)r
   )xr<   s     r   <lambda>z"zTransformPoints.<locals>.<lambda>K   s    OF1,E,E r   )listmap)r<   r?   s     r   r   r   J   s#    FEEEqIIJ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>rJ      s    - - ( ' ' ' ' ' ' ' ' ' ' '            + + +0 0 00 0 0* * *@ @ @5 5 5? ? ?  
K K K K Kr   