找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 161|回复: 0

三点角度0~2PI

[复制链接]

1

主题

0

回帖

35

积分

管理员

积分
35
发表于 2024-3-16 08:50:47 | 显示全部楼层 |阅读模式
AcGeVector3d v12(p2-p1);
AcGeVector3d v23(p3-p2);
double signedAngle = v12.angleTo(v23, AcGeVector3d::kZAxis); // 0~2PI
if (signedAngle > PI)
    signedAngle -= 2*PI; // -PI..+PI


AcGePoint3d ps, pe;  // in
bool ccw; // in

AcGeVector3d v, vse(pe - ps);
AcGeVector3d v(-vse.y, vse.x, vse.z);
//v points to the left side of [ps-->pe] which is the outside if clockwise
if (ccw)
  v = -v;
AcGePoint3d pt(ps + 0.5*vse);
AcDbRay *ray = new AcDbRay()
ray->setBasePoint(pt);
v.normalize();
ray->setUnitDir(v);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2025-1-1 16:56 , Processed in 0.134499 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表