
    e                        d Z ddlZddlZddlmZ  ej                  d      Z	 ej                         Zej                          ej                  d       ej                  d        ej                         Zej#                  ddd       ej%                  e       dd	Z ed
        ej*                   ej,                  ed            Z ed        ej0                  eej3                         dz        \  ZZ ej8                  ee      Z ej<                  ej?                         dfe       Z!de!dddf<    ejD                  dde!jF                  d         e!dddf<   ejI                  e!        ejJ                  edd      Z&e&jO                  d       e&jQ                  ddd        ejJ                  edd      Z)e)jO                  d       ej%                  e)       e)jQ                  ddd       e*dk(  r ejV                          yy)zv
This example uses the isosurface function to convert a scalar field
(a hydrogen orbital) into a mesh for 3D display.
    NzGLIsosurface Examplezpyqtgraph example: GLIsosurface(   )distance      c                    | |d   z
  }||d   z
  }||d   z
  }t        j                  |t        j                  ||            }t        j                  |dz  |dz  z   |dz  z         }d}	ddt         j                  z  dz  z  d|	z  dz  z  ||	z  dz  z  t        j
                  | d	|	z  z        z  d	t        j                  |      dz  z  dz
  z  }
|
S )
Nr   r   r   gH?g      @g      ?g      ?g      ?   )nparctan2hypotsqrtpiexpcos)ijkoffsetxyzthra0pss              A/usr/lib/python3/dist-packages/pyqtgraph/examples/GLIsosurface.pypsir      s    	&)A	&)A	&)A	Arxx1~	&B
1q!ta!e#$A	
B	2553	&"R%3	71R4!)	CbffaRQRSUQUYFW	W[\_a_e_efh_ikl_l[lop[p	qBI    zGenerating scalar field..)2   r   d   zGenerating isosurface..g      @)vertexesfaces   )dtypeg?r   Fballoon)meshdatasmoothshaderadditiveiiTi__main__))   r*   r   ),__doc__numpyr	   	pyqtgraphpgpyqtgraph.openglopenglglmkQAppappGLViewWidgetwshowsetWindowTitlesetCameraPosition
GLGridItemgscaleaddItemr   printabsfromfunctiondata
isosurfacemaxvertsr!   MeshDatamdones	faceCountfloatcolorslinspaceshapesetFaceColors
GLMeshItemm1setGLOptions	translatem2__name__exec r   r   <module>rU      s  
   bii&'BOO    2 3   R   BMMO !A 		! ! "rvvobooc;/0   r}}T488:b=1uR[[%u-	",,.!$E	2qsbkk!QQ0qs    R]]BuY? 
  S#s R]]BtI> 
  		" S#s zBGGI r   