我正在尝试使用悬链线公式在 C++ OpenGL 的 3d 空间中创建一条不动的线。我想指定两个固定点(导线串在其间的两极)的 xyz 坐标和公式中的 a 值来表示导线的下垂量。我需要根据精度计数(要绘制的线段数)遍历公式。
在我的 OpenGL 世界中,x 和 y 是水平的,正 y 向上,所以线总是在负 y 下垂。因此,如果您沿 y 轴垂直向下看,电线将显示为一条直线。但是两个端点在水平方向上可能不在同一平面上(不同的y值)。
我见过的所有悬链线的例子都是2d的...我需要画成3d的,这让我绞尽脑汁。 ;)
最佳答案
您要做的是采用二维悬链线并将其转换到您想要的平面上。您描述的实现说它从上方“将显示为一条直线”。因此,这个方程适用于二维平面,可以沿 X 轴和 Z 轴平移,并绕 Y 轴旋转以适应给定方向。
关于c++ - 给定两组 xyz 坐标和 sag (a) 的值,我可以在 OpenGL 中的这些点之间绘制悬链线吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199269/