使用线类和平面类
以下示例显示了直线类和平面类中一些最常用的函数。这些示例说明如何使用直线类和平面类进行基本的线性代数运算。尽管示例使用 3D 类,但大多数不涉及平面类的函数也存在于 2D 类中。这些示例还使用无限线类和平面类,但它们对线段、射线和有界平面同样有效。 默认线构造函数沿 X 轴构造一条线。默认平面构造函数构造 XY 平面: AcGePoint3d p1(2.0,5.0,-7.5), p2; AcGeLine3d line1(p1,v1), line2; AcGePlane plane1(p1,v1), plane2; 上面的构造函数 for 构造一条沿 方向的直线。构造函数构造一个平面,并垂直于 。因此,垂直于 。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); 以下函数返回布尔值(true 或 false),可在语句中使用。前两个测试点是否位于 or 上,第三个测试是否位于 :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, 2024-12-15 22:03
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.