Esempio n. 1
0
 def add_iris_back(self):
     blue_iris_back = AnnularSector(
         inner_radius=self.pupil_radius,
         outer_radius=self.outer_radius,
         angle=270 * DEGREES,
         start_angle=180 * DEGREES,
         fill_color=self.iris_background_blue,
         fill_opacity=1,
         stroke_width=0,
     )
     brown_iris_back = AnnularSector(
         inner_radius=self.pupil_radius,
         outer_radius=self.outer_radius,
         angle=90 * DEGREES,
         start_angle=90 * DEGREES,
         fill_color=self.iris_background_brown,
         fill_opacity=1,
         stroke_width=0,
     )
     self.iris_background = VGroup(
         blue_iris_back,
         brown_iris_back,
     )
     self.add(self.iris_background)
Esempio n. 2
0
    def new_sector(self, r, dr, lower_angle, upper_angle):
        alpha = self.max_opacity * self.opacity_function(r)
        annular_sector = AnnularSector(inner_radius=r,
                                       outer_radius=r + dr,
                                       color=self.color,
                                       fill_opacity=alpha,
                                       start_angle=lower_angle,
                                       angle=upper_angle - lower_angle)
        # rotate (not project) it into the viewing plane
        rotation_matrix = z_to_vector(self.projection_direction())
        annular_sector.apply_matrix(rotation_matrix)
        # now rotate it inside that plane
        rotated_RIGHT = np.dot(RIGHT, rotation_matrix.T)
        projected_RIGHT = self.project(RIGHT)
        omega = angle_between_vectors(rotated_RIGHT, projected_RIGHT)
        annular_sector.rotate(omega, axis=self.projection_direction())
        annular_sector.move_arc_center_to(self.get_source_point())

        return annular_sector
Esempio n. 3
0
    def new_sector(self, r, dr, lower_angle, upper_angle):
        alpha = self.max_opacity * self.opacity_function(r)
        annular_sector = AnnularSector(
            inner_radius=r,
            outer_radius=r + dr,
            color=self.color,
            fill_opacity=alpha,
            start_angle=lower_angle,
            angle=upper_angle - lower_angle
        )
        # rotate (not project) it into the viewing plane
        rotation_matrix = z_to_vector(self.projection_direction())
        annular_sector.apply_matrix(rotation_matrix)
        # now rotate it inside that plane
        rotated_RIGHT = np.dot(RIGHT, rotation_matrix.T)
        projected_RIGHT = self.project(RIGHT)
        omega = angle_between_vectors(rotated_RIGHT, projected_RIGHT)
        annular_sector.rotate(omega, axis=self.projection_direction())
        annular_sector.move_arc_center_to(self.get_source_point())

        return annular_sector