高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】求角平分线方向的代码
求角平分线方向的代码
求角平分线方向的代码
//取得一个角的角平分线方向
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);
}
复制代码
支持
可借用的代码,支持!!
|