public static void Zoom(this ProjectionCamera camera, Point3D center, double factor) { if (camera != null) { if (camera is PerspectiveCamera perspectiveCamera) { Vector3D scaledLookDir = center - camera.Position; scaledLookDir *= factor; camera.LookAt(center, scaledLookDir); } if (camera is OrthographicCamera orthographicCamera) { orthographicCamera.Width *= factor; } } }