Vector3.cpp
上传用户:dfjhuyju
上传日期:2013-03-13
资源大小:11035k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // Vector3.cpp: implementation of the CVector3 class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "LiFeng.h"
  6. #include "Vector3.h"
  7. #include <math.h>
  8. #ifdef _DEBUG
  9. #undef THIS_FILE
  10. static char THIS_FILE[]=__FILE__;
  11. #define new DEBUG_NEW
  12. #endif
  13. //////////////////////////////////////////////////////////////////////
  14. // Construction/Destruction
  15. //////////////////////////////////////////////////////////////////////
  16. CVector3::CVector3()
  17. {
  18. }
  19. CVector3::~CVector3()
  20. {
  21. }
  22. CVector3 Cross(CVector3 vVector1, CVector3 vVector2)
  23. {
  24. CVector3 vNormal;
  25. vNormal.x = ((vVector1.y * vVector2.z) - (vVector1.z * vVector2.y));
  26. vNormal.y = ((vVector1.z * vVector2.x) - (vVector1.x * vVector2.z));
  27. vNormal.z = ((vVector1.x * vVector2.y) - (vVector1.y * vVector2.x));
  28. return vNormal;  
  29. }
  30. float Magnitude(CVector3 vNormal)
  31. {
  32. return (float)sqrt( (vNormal.x * vNormal.x) + 
  33. (vNormal.y * vNormal.y) + 
  34. (vNormal.z * vNormal.z) );
  35. }
  36. CVector3 Normalize(CVector3 vVector)
  37. {
  38. float magnitude = Magnitude(vVector);
  39. vVector = vVector / magnitude;
  40. return vVector;
  41. }