几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】求角平分线方向的代码 (http://www.dimcax.com/hust/showthread.php?t=7922)

yang686526 2009-04-18 05:51 PM

【转帖】求角平分线方向的代码
 
求角平分线方向的代码
求角平分线方向的代码
//取得一个角的角平分线方向
double getangbisector(
double startang //起始边方向
, double endang //终止边方向
, double &angle //夹角
, bool clockwise //起边到终边是否为逆时针旋转
)
{
angle = endang - startang;
if (fabs(angle) < minangle) return startang;
if (clockwise) {
if (angle > 0) {
angle += pi * 2;
}
if (angle > pi * 2) {
angle = angle - pi * 4;
}
return startang + angle * 0.5;
}
else {
if (angle < 0) {
angle -= pi * 2;
}
if (angle < -pi * 2) {
angle = pi * 4 + angle;
}
return startang + angle * 0.5;
}
}
//取得一个角的角平分线方向
double getangbisector(
const acgepoint3d &startpt //起始边端点
, const acgepoint3d &midpt //角的顶点
, const acgepoint3d &endpt //终止边端点
, double &angle //夹角
, bool clockwise //起边到终边是否为逆时针旋转
)
{
double startang, endang;
startang = getazimuth(midpt, startpt);
endang = getazimuth(midpt, endpt);
return getangbisector(startang, endang, angle, clockwise);
}
复制代码
支持
可借用的代码,支持!!


所有的时间均为北京时间。 现在的时间是 08:11 AM.