以下示例显示了直线和平面类中一些最常用的函数。这些示例演示如何使用直线和平面类进行基本的线性代数运算。尽管示例使用 3D 类,但大多数不涉及平面类的函数也存在于 2D 类中。这些示例还使用无限直线和平面类,但它们对线段、射线和有界平面同样有效。 默认线构造函数沿X轴构造一条线。默认平面构造函数构造XY平面: AcGePoint3d p1(2.0,5.0,-7.5), p2; AcGeLine3d line1(p1,v1), line2; AcGePlane plane1(p1,v1), plane2; 上面的构造函数用于构造一条贯穿方向的直线。构造函数构造一个平面,并且垂直于。因此,是垂直的。line1p1v1plane1p1v1line1plane1 以下函数返回直线或平面定义: p1 = line1.pointOnLine(); // Arbitrary point on line. v1 = line1.direction(); // Direction vector of line. p1 = plane1.pointOnPlane(); // Arbitrary point on plane. v1 = plane1.normal(); // Normal vector of plane. 与函数总是返回单位向量。direction()normal() 以下函数返回直线或平面上离该点最近的点:p1 p2 = line1.closestPointTo(p1); p2 = plane1.closestPointTo(p1); 以下函数返回点与线或平面之间的距离(这些距离将与上面之间的距离相同):p1p2 double len = line1.distanceTo(p1); len = plane1.distanceTo(p1); 以下函数返回布尔值(真或假),可以在语句中使用。前两个测试点是否在或上,第三个测试是否在:ifp1line1plane1line1plane1 if (line1.isOn(p1)) if (plane1.isOn(p1)) if (line1.isOn(plane1)) 以下函数测试直线或平面是平行、垂直还是重合: if (line1.isParallelTo(line2)) if (line1.isParallelTo(plane1)) if (line1.isPerpendicularTo(line2)) if (line1.isPerpendicularTo(plane1)) if (line1.isColinearTo(line2)) if (plane1.isParallelTo(plane2)) if (plane1.isPerpendicularTo(plane2)) if (plane1.isCoplanarTo(plane2)) 以下函数返回直线和平面的交点: if (line1.intersectWith(line2,p1)) if (line1.intersectWith(plane1,p1)) if (plane1.intersectWith(plane2,line1)) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:24
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.