图形:如何在opengl中的线段周围创建3D圆柱体?

时间:2016-02-06 00:37:55

标签: opengl 3d opengl-3

我有2个端点的线段,我想在它周围用一些半径r创建一个圆柱。

1 个答案:

答案 0 :(得分:0)

网上有足够的例子,这里有一个简单的描述。将气缸视为CD架。考虑圆柱体的“底面”。您知道此曲面的中心是线段的一端。现在,这个曲面的边顶点只是一组三角形(比如8)的顶点,这些三角形是用一个顶点作为曲面的中心。为了使圆柱体完整,将一叠这样的表面制作到线段的另一端。

如何找到与曲面相交的每条线的顶点(例如,下图中有8条线)?循环如下:

for(each line)
{
    float angle_degrees = 360 * (id of line) / (number of lines);

    float x = radius * cos(angle_radians);
    float y = radius * sin(angle_radians);
}

zwiggler绘图:

enter image description here

关于这个问题的其他一些讨论: Number of Sides Required to draw a circle in OpenGL