
    lj                        d dl mZ ddgZd dlmZmZ d dlZd dlm	Z	m
Z
mZ d dlmZ d dlmZ d d	lmZmZ  G d
 de          Z G d de          ZdS )    )annotationsTrueDotDotCloud)AnySelfN)ORIGINRIGHTUP)OpenGLPMobject)Point3DLike)PURE_YELLOWParsableManimColorc                  <     e Zd Zedddfd fdZddZdddZ xZS )r          @
   colorr   stroke_widthfloatradiusdensitykwargsr   c                d    || _         d|z  | _         t                      j        d|||d| d S )Ng      ?)r   r   r    )r   epsilonsuper__init__)selfr   r   r   r   r   	__class__s         Y/home/agentuser/manim-venv/lib/python3.11/site-packages/manim/mobject/opengl/dot_cloud.pyr   zDotCloud.__init__   sU     W} 	
%we	
 	
GM	
 	
 	
 	
 	
    returnNonec                     t          j         fdt          j         j         j         j                  D             t           j                   _        d S )Nc                0   g | ]}t          j        d dt           j        z  t          dt           j        z  |j        z   z  j        z                      D ]>}|t          j        |          t          z  t          j        |          t          z  z   z  ?S )r      )num)	nplinspacepiintr   cosr	   sinr
   ).0rthetar   s      r   
<listcomp>z(DotCloud.init_points.<locals>.<listcomp>    s     	 	 	[IAIT\)9:T\IJJ  		 	  RVE]]U*RVE]]R-??@	 	 	 	r    )dtype)r'   arrayaranger   r   float32points)r   s   `r   init_pointszDotCloud.init_points   s`    h	 	 	 	4<dlKK	 	 	 *
 
 
r          ?皙?glossshadowr   c                    |                      |           |                     |           |                                  | S )N)	set_gloss
set_shadowapply_depth_test)r   r9   r:   s      r   make_3dzDotCloud.make_3d-   s=    ur    )
r   r   r   r   r   r   r   r   r   r   )r!   r"   )r7   r8   )r9   r   r:   r   r!   r   )__name__
__module____qualname__r   r   r6   r?   __classcell__r   s   @r   r   r      s}         %0!
 
 
 
 
 
 

 
 
 
        r    c                  &     e Zd Zedfd	 fdZ xZS )
r   r   centerr   r   r   r   r   c                P    || _          t                      j        d|g|d| d S )N)r5   r   r   )r   r   r   )r   rF   r   r   r   s       r   r   zTrueDot.__init__5   s8     #N|NNvNNNNNr    )rF   r   r   r   r   r   )r@   rA   rB   r   r   rC   rD   s   @r   r   r   4   sR        $*#O O O O O O O O O O Or    )
__future__r   __all__typingr   r   numpyr'   manim.constantsr   r	   r
   /manim.mobject.opengl.opengl_point_cloud_mobjectr   manim.typingr   manim.utils.colorr   r   r   r   r   r    r   <module>rP      s   " " " " " "j
!             - - - - - - - - - - J J J J J J $ $ $ $ $ $ = = = = = = = =" " " " "~ " " "JO O O O Oh O O O O Or    