150 likes | 315 Views
XNA 3D Primer. Michael C. Neel ViNull.com michael.neel@gmail.com. Wrox.com. create.msdn.com. v inull.com. 3D Overview. 3D Math. Decimals, Doubles, and Floats, Oh My!. 3D Math. Right Hand Rule. 3D Math. Matrix.CreateScale Matrix.CreateRotationX Matrix.CreateRotationY
E N D
XNA 3D Primer Michael C. Neel ViNull.com michael.neel@gmail.com
create.msdn.com vinull.com
3D Math Decimals, Doubles, and Floats, Oh My!
3D Math Right Hand Rule
3D Math Matrix.CreateScale Matrix.CreateRotationX Matrix.CreateRotationY Matrix.CreateRotationZ Matrix.CreateFromAxisAngle Matrix.CreateFromQuaternion Matrix.CreateTranslation Matrix.CreateLookAt Matrix.CreatePerspective Matrix.CreatePerspectiveFieldOfView Matrix.CreatePerspectiveOffCenter Matrix.CreateOrthographic Matrix.CreateOrthographicOffCenter Matrix.CreateWorld
3D Math Identity Scale Rotate Orbit Translate ISROT
3D Math – Build a better Arc Arctangent2 – Math.Atan2 Math.Atan2( 2.0, 4.0) 0.46364760900080609 Math.Atan2( -2.0, -4.0) -2.677945044588987
3D Math Vector3.Dot(Vector3.Normalize(a), Vector3.Normalize(b)) 1.0 Vector3.Dot(Vector3.Normalize(d), Vector3.Normalize(e)) -1.0 Vector3.Dot(Vector3.Normalize(c), Vector3.Normalize(d)) 0.0 Vector3.Dot(Vector3.Normalize(b), Vector3.Normalize(c)) 0.707106769 Vector3.Dot(Vector3.Normalize(b), Vector3.Normalize(e)) -0.707106769
3D Math Math.Acos( Vector3.Dot(Vector3.Normalize(b), Vector3.Normalize(c))) 0.78539818051171917 Math.Acos( Vector3.Dot(Vector3.Normalize(b), Vector3.Normalize(e))) 2.3561944730780739 Math.Acos( Vector3.Dot(Vector3.Normalize(b), Vector3.Normalize(d))) 0.78539818051171917 Math.Acos( Vector3.Dot(Vector3.Normalize(b), Vector3.Normalize(c))) 0.78539818051171917
3D Math Vector3.Cross(b, d) {X:0 Y:0 Z:4} Vector3.Cross(b, c) {X:0 Y:0 Z:-4} Math.Acos( Vector3.Dot(Vector3.Normalize(b), Vector3.Normalize(c))) * Math.Sign(Vector3.Cross(b, c).Z) -0.78539818051171917
3D Math Quaternions