mirror of
https://github.com/3b1b/manim.git
synced 2025-08-01 08:54:38 +08:00
Up to group structure description of efvgt
This commit is contained in:
@ -10,6 +10,7 @@ class ThreeDCamera(Camera):
|
||||
CONFIG = {
|
||||
"sun_vect" : 3*UP+LEFT,
|
||||
"shading_factor" : 0.5,
|
||||
"camera_distance" : 20,
|
||||
}
|
||||
def __init__(self, *args, **kwargs):
|
||||
Camera.__init__(self, *args, **kwargs)
|
||||
@ -62,6 +63,16 @@ class ThreeDCamera(Camera):
|
||||
)
|
||||
|
||||
|
||||
def points_to_pixel_coords(self, points):
|
||||
distance_ratios = (self.camera_distance + points[:,2])/self.camera_distance
|
||||
scale_factors = interpolate(0, 1, distance_ratios)
|
||||
adjusted_points = np.array(points)
|
||||
for i in 0, 1:
|
||||
adjusted_points[:,i] *= scale_factors
|
||||
|
||||
return Camera.points_to_pixel_coords(self, adjusted_points)
|
||||
|
||||
|
||||
class ThreeDScene(Scene):
|
||||
CONFIG = {
|
||||
"camera_class" : ThreeDCamera,
|
||||
|
Reference in New Issue
Block a user