Hi all,
reading the old post, I came across a source code(free) produced by Dmitry K. This is a set of 3Dmaths functions entirely in DBC, the same (almost) as its dll. I think it may help to understand mathematics 3d.
List of functions:
3DMaths
MakeVector2
DeleteVector2
SetVector2
AddVector2
SubtractVector2
XVector2
YVector2
CatmullRomVector2
CopyVector2
DivideVector2
MultiplyVector2
DotProductVector2
BCCVector2
SquaredLengthVector2
LengthVector2
HermiteVector2
IsEqualVector2
LinearInterpolateVector2
MaximizeVector2
MinimizeVector2
NormalizeVector2
ScaleVector2
CCWVector2
TransformCoordsVector2
MakeVector3
DeleteVector3
SetVector3
AddVector3
SubtractVector3
XVector3
YVector3
ZVector3
CatmullRomVector3
CopyVector3
DivideVector3
MultiplyVector3
DotProductVector3
BCCVector3
SquaredLengthVector3
LengthVector3
HermiteVector3
IsEqualVector3
LinearInterpolateVector3
MaximizeVector3
MinimizeVector3
NormalizeVector3
ScaleVector3
CrossProductVector3
ProjectVector3
TransformCoordsVector3
TransformNormalsVector3
MakeVector4
DeleteVector4
SetVector4
AddVector4
SubtractVector4
XVector4
YVector4
ZVector4
WVector4
CatmullromVector4
CopyVector4
DivideVector4
MultiplyVector4
BCCVector4
SquaredLengthVector4
LengthVector4
HermiteVector4
IsEqualVector4
LinearInterpolateVector4
MaximizeVector4
MinimizeVector4
NormalizeVector4
ScaleVector4
TransformVector4
MakeMatrix4
DeleteMatrix4
CopyMatrix4
BuildLookAtLHMatrix4
BuildLookAtRHMatrix4
BuildOrthoLHMatrix4
BuildOrthoRHMatrix4
BuildFOVLHMatrix4
BuildFOVRHMatrix4
BuildPerspectiveLHMatrix4
BuildPerspectiveRHMatrix4
BuildReflectionMatrix4
BuildRotationAxisMatrix4
SetIdentityMatrix4
IsEqualMatrix4
IsIdentityMatrix4
AddMatrix4
SubtractMatrix4
MultiplyMatrix4
MultiplyMatrix4ByValue
ScaleMatrix4
TranslateMatrix4
TransposeMatrix4
RotateYPRMatrix4
RotateXMatrix4
RotateYMatrix4
RotateZMatrix4
WorldMatrix4
ViewMatrix4
ProjectionMatrix4
DeterminantMatrix4
DeterminantMatrix3
SubMatrix3
InverseMatrix4
DivideMatrix4
PrintMatrix4Lib
PrintMatrix
PrintVectorLib
PrintVector
Basic3D
IntersectObject
IntersectPoly
PickObject
PickScreen
GetPickVectorX
GetPickVectorY
GetPickVectorZ
GetPickPoly
GetPickPolyNormalX
GetPickPolyNormalY
GetPickPolyNormalZ
GetPickPolyNormalD
You can find his dll here:
http://forum.thegamecreators.com/?m=forum_view&t=187251&b=10
@+
DirectX 9.0c (February 2010)/ DBClassic v1.20