Difference between revisions of "Canvas3D JS Library"

From CDOT Wiki
Jump to: navigation, search
(People Working On This Project)
Line 4: Line 4:
  
 
== People Working On This Project ==
 
== People Working On This Project ==
 
+
* Catherine Leung
 
* Mark Paruzel (CodeBot)
 
* Mark Paruzel (CodeBot)
 
* Andrew Smith
 
* Andrew Smith

Revision as of 17:18, 22 January 2008

Introduciton

Under Construction

People Working On This Project

  • Catherine Leung
  • Mark Paruzel (CodeBot)
  • Andrew Smith

Prototype

Canvas 3D API - Class Design

Math Operations

Vector Class

A Vector basically describes a direction in the form of X, Y, and Z coordinates of a 3D world. Basic 3D math cannot exist without the utilization of spatial coordinates which the Vector Class encapsulates. The Vector Class will have the following members within it:

  • void Normalize() - Unit Normalization
  • float Dot() - Dot Product
  • float Length() - Length of Vector from (0, 0, 0)
  • float LengthSquared() - Squared value of Length
  • Vector Cross(Vector) - Cross Product
  • Vector Multiply(Float) - Multiplication by a scalar
  • Vector Divide(Float) - Division by a scalar
  • Vector Subtract(Vector) - Subtraction of a Vector
  • Vector Add(Vector) - Addition to a Vector
  • bool Equals(Vector) - Equals Comparison

Matrix Class

A Matrix Class is necessary to provide Matrix operations such as rotation, translation, and scaling to any point in the 3D world. It is composed of a 4x4 matrix of floating point values that can be applied to any Matrix operation. The Matrix Class has the following members:

  • void Identity() - Create Identity Matrix
  • void Transpose() - Transpose a Matrix
  • void Inverse() - Inverse Matrix Values
  • float Multiply(Matrix) - Multiplication by Scalar
  • float Divide(Matrix) - Division by Scalar
  • Matrix Add(Matrix) - Addition of two Matrices
  • Matrix Subtract(Matrix) - Subtraction of two Matrices
  • Vector Multiply(Vector) - Matrix times a Vector
  • Matrix Multiply(Matrix) - Matrix times a Matrix

Camera

Pan Camera Class

Fixed Camera Class

Chase Camera Class

Free Camera Class

World Objects

Shape Class

Primitive Class

Model Class