HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyo
�
[�3Lc@s6dZddlmZddlmZddlZddljZd�Z	d�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�ZeZd�Zd�Zd�Zdd�Zdd�Zd�Zd�Z d�Z!e"dkr2e�ndS(s,
Various transforms used for by the 3D code
i����(tLineCollection(tCircleNc	Cs�|d \}}|d \}}||krAd}d}|}nH||krcd}d}|}n&||}||}||||}|||fS(s<
    Return 2D equation of line in the form ax+by+c = 0
    ii����ii((	tp0tp1tx0ty0tx1ty1tatbtc((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytline2ds	


cCsN|\}}}|\}}t|||||tj|d|d��S(sO
    Distance from line to point
    line is a tuple of coefficients a,b,c
    i(tabstnptsqrt(tltpRR	R
RR((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytline2d_dist%sc	Cs�|d|d}|d|d}tj|d�|d}tj|d�|d}||||tt|d|d��}tj|dd�}tj|||d|||d�}|S(s�distance(s) from line defined by p1 - p2 to point(s) p0

    p0[0] = x(s)
    p0[1] = y(s)

    intersection point p = p1 + u*(p2-p1)
    and intersection point lies within segement if u is between 0 and 1
    iii(R
tasarraytfloatRtclipR(	Rtp2Rtx21ty21tx01ty01tutd((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytline2d_seg_dist/s
.+cCs*ddl}|j�}d
d}}|j||�t||�}|\}}dd
}}|j||�t|||d|df�}t||tj||f��}xKt|||�D]7\}}	}
t||	f|
dd�}|j	|�q�W|j
d	d�|jd	d�|j�dS(Ni����iiii�idi�tfilli8���(ii(ii�(iiii(idi�ii�(
tpylabtgcatplottziptscatterRR
tarrayRt	add_patchtxlimtylimtshow(RtaxtxstystpointsRRtdisttxtyRR
((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyttest_lines_distsDs 

 !"cCs-tj|dd|dd|dd�S(s3d vector lengthiii(R
R(tv((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytmodZsc	Cs�||||||}}}tjd|dd||gdd|d||gddd|||gddddgg�S(Ng�?i(R
R#(	txmintxmaxtymintymaxtzmintzmaxtdxtdytdz((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytworld_transformation^s cCsHd\}}d\}}d\}}t||||||�}|GHdS(	Nidixi����g�������?g�������?(idix(i����id(g�������?g�������?(R;(R2R3R4R5R6R7tM((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyt
test_worldhs
cCs||}|t|�}tj||�}|t|�}tj||�}|d|d|ddg|d|d|ddg|d|d|ddgddddgg}ddd|dgddd|dgddd|dgddddgg}tj||�S(Niii(R1R
tcrosstdot(tEtRtVtnRR0tMrtMt((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytview_transformationos

cCsq||||}d||||}tjddddgddddgdd||gddddgg�S(Ni����iii����(R
R#(tzfronttzbackRR	((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytpersp_transformation�scCsUtj||�}|d}|d||d||d|}}}|||fS(Niiii(R
R?(tvecR<tvecwtwttxsttysttzs((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytproj_transform_vec�s
,cCs�tj||�}|d}|d||d||d|}}}|ddk|ddk|ddk|ddk}tj|�r�|ddk}n||||fS(Niiii(R
R?tsometrue(RJR<RKRLRMRNROttis((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytproj_transform_vec_clip�s
,:cCsrtj|�}t|||�}tj||�}y||d}Wntk
rXnX|d|d|dfS(Niiii(tlinalgtinvtvec_pad_onesR
R?t
OverflowError(R)R*tzsR<tiMRJtvecr((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyt
inv_transform�s
cCs�ysy+tj|||tj|j�g�}WnAttfk
rqtj|||tjt|��g�}nXWn,tk
r�tj|||dg�}nX|S(Ni(R
R#tonestshapetAttributeErrort	TypeErrortlen(R)R*RXRJ((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyRV�s+2
cCst|||�}t||�S(s7
    Transform the points by the projection matrix
    (RVRP(R)R*RXR<RJ((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytproj_transform�scCst|||�}t||�S(sv
    Transform the points by the projection matrix
    and return the clipping result
    returns txs,tys,tzs,tis
    (RVRS(R)R*RXR<RJ((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytproj_transform_clip�scCstt||��S(N(R!tproj_trans_points(R+R<((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytproj_points�scCs(t|�\}}}t||||�S(N(R!Ra(R+R<R)R*RX((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyRc�scCs(t|�\}}}t||||�S(N(R!Rb(R+R<R)R*RX((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytproj_trans_clip_points�sicCsGddl}d|ddgdd|dgddd|g}}}t||||�\}}}|d|df|d|df|d|df|d|dff\}	}
}}|	|
f|	|f|	|fg}
|j�}
t|
�}|
j|�xBt||dddd	g�D]"\}}}|j|||�qWdS(
Ni����iiiitoR-R.tz(RRaRRtadd_collectionR!ttext(R<tsRR)R*RXRMRNRORfR(taytaztlinestlinecR-R.tt((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyttest_proj_draw_axes�s8"4!
.cCs�|ptjdddg�d}tjdddg�d}tjdddg�}t|||�}tdd�}tj||�}|S(Nii����ii�idii����(R
R#RFRIR?(R@RARBtviewMtperspMR<((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyttest_proj_make_M�s"cCs�ddl}t�}gddddddddd	dg
D]}d
|^q:}ddddddddddg
ddddddddddg
ddddddddddg
}}}g|||fD]}tj|�d^q�\}}}t|dd
�t||||�\}}	}
t||	|
|�\}}}
|j||	d|
�|j||	dd�x6t	||	|�D]"\}}}|j
|||�q�W|jdd�|jdd�|j
�dS(Ni����iiiiiiiis%di,Rji�R
trg������ɿg�������?(RRsR
R#RpRaR[R"R R!RiR%R&R'(RR<tittsR)R*RXR0RMRNROtixstiystizsR-R.Ro((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyt	test_proj�s 	;B,8"cCs{tj|�tj|�}}tjddddgd||dgd||dgddddgg�}tj||�S(Nii(R
tcostsinR#R?(RBtalphatcosatsinatM1((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pytrot_x	scCsRddddg}t|tjd�GHddddg}t|tjd�GHdS(Niii(R�R
tpi(RB((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyttest_rotst__main__(#t__doc__tmatplotlib.collectionsRtmatplotlib.patchesRtnumpyR
tnumpy.linalgRTRRRR/R1R;R=RFRIRPRSR[RVRaRbt	transformRdRcReRptNoneRsRzR�R�t__name__(((sN/opt/alt/python27/lib64/python2.7/site-packages/mpl_toolkits/mplot3d/proj3d.pyt<module>s<