示例#1
0
        public static Position3D ProjectCameraPlaneToCameraSystem(double cameraPlaneX, double cameraPlaneY, double nearPlaneDist)
        {
            var positionInCameraCoordinates = new Position3D(cameraPlaneX, nearPlaneDist, cameraPlaneY);

            return(positionInCameraCoordinates);
        }
示例#2
0
 public Plane3D(Position3D offset, Vector3D normal)
 {
     Offset = offset;
     Normal = normal;
 }
示例#3
0
        public static Position3D ProjectSceneSystemToCameraSystem(this Position3D position, Matrix44D cameraFrame)
        {
            var cameraPosition = cameraFrame.Inverse() * position;

            return(cameraPosition);
        }
示例#4
0
        public static Position3D ProjectCameraSystemToSceneSystem(this Position3D position, Matrix44D cameraFrame)
        {
            var scenePosition = cameraFrame * position;

            return(scenePosition);
        }
示例#5
0
 public static Matrix44D CreateRotation(Position3D offset, Vector3D axis)
 => CreateRotation(offset, axis, 0.0);
示例#6
0
        public static Matrix44D CreateCoordinateSystem(Position3D offset, Vector3D ex, Vector3D ez)
        {
            var ey = (ez & ex).Normalize();

            return(CreateCoordinateSystem(offset, ex, ey, ez));
        }
示例#7
0
 public Axis3D(Position3D offset, Vector3D direction)
 {
     Offset    = offset;
     Direction = direction;
     _hashCode = Offset.GetHashCode() * Direction.GetHashCode();
 }