cadbase1.cpp
来自「用vc编的stlview着重版」· C++ 代码 · 共 48 行
CPP
48 行
#include "stdafx.h"
#include "../inc/geomcalc/cadbase.h"
#include "math.h"
double _AngleBetween(VECTOR2D v1,VECTOR2D v2)
{
if(_IsParallel(v1,v2)) return 0;
CVector2D cv1(v1),cv2(v2);
return acos((cv1|cv2.GetNormal())/cv1.GetLength());
}
double _AngleBetween(VECTOR3D v1,VECTOR3D v2)
{
if(_IsParallel(v1,v2)) return 0;
CVector3D cv1(v1),cv2(v2);
return acos((cv1|cv2.GetNormal())/cv1.GetLength());
}
double _DistOf(POINT2D pt0,POINT2D pt1)
{
CVector2D vec(pt1.x-pt0.x,pt1.y-pt0.y);
return vec.GetLength();
}
double _DistOf(POINT3D pt0,POINT3D pt1)
{
CVector3D vec(pt1.x-pt0.x,pt1.y-pt0.y);
return vec.GetLength();
}
BOOL _IsParallel(VECTOR2D v0,VECTOR2D v1)
{
CVector2D cv0(v0),cv1(v1);
return IS_ZERO((cv0*cv1).dz);
}
BOOL _IsParallel(VECTOR3D v0,VECTOR3D v1)
{
CVector3D cv0(v0),cv1(v1);
return IS_ZERO((cv0*cv1).GetLength());
}
BOOL _IsOrthogonal(VECTOR3D v0,VECTOR3D v1)
{
CVector3D cv0(v0),cv1(v1);
return IS_ZERO(cv0|cv1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?