c++ - 给定两组 xyz 坐标和 sag (a) 的值,我可以在 OpenGL 中的这些点之间绘制悬链线吗?

标签 c++ algorithm opengl 3d curve

我正在尝试使用悬链线公式在 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/

相关文章:

c++ - 如何在每个角上绘制一个带有自己纹理的三角形?

c# - 什么相当于C#中的map of maps

c++ - 错误 C2512 : no appropriate default constructor available - Why if properties are being initialized in constructor?

c++ - C++ 中的 Mergesort 实现错误

algorithm - 子集和的变化

python - 我正在尝试找到第 n 个二进制回文

algorithm - 计算一个数字的位数 - 这两种解决方案哪个更快?

c++ - OpenGL/GLEW : Unresolved external _glewInit

c++ - 拥有一个具有映射到 std::vector 属性的 Eigen::matrix 属性的类

c++ - 如何在 OpenGL 中创建深度淡入淡出效果?