Пример #1
0
    def test__perspective(self):
        from core.transform import Transform
        from maths.vector3d import Vector3d

        p = Vector3d(0.0, 0.0, 500.0)
        t = Transform.create_perspective(60.0, 1000.0)
        a = p * t
        self.assertEqual(a, Vector3d(0.0, 0.0, 0.5))

        p = Vector3d(0.0, 0.0, 000.0)
        t = Transform.create_perspective(60.0, 1000.0)
        print(p*t)
        self.assertEqual(p * t, Vector3d(0.0, 0.0, 1.0))
Пример #2
0
    def __init__(self, cam2world: Transform, screen_window: [float]*4, shutter_open: float, shutter_close: float, lensr: float, focald: float, fov: float, film: Film):

        super().__init__(cam2world, Transform.create_perspective(fov, infinity_min_f, 1000.0), screen_window, shutter_open, shutter_close, lensr, focald, film)
        self.dxCamera = (Point3d(1.0, 0.0 ,0.0) * self.rasterToCamera) - (Point3d(0.0, 0.0, 0.0) * self.rasterToCamera)
        self.dyCamera = (Point3d(0.0, 1.0 ,0.0) * self.rasterToCamera) - (Point3d(0.0, 0.0, 0.0) * self.rasterToCamera)