Opengl es OpenGL如何创建更好的3D模型?

Opengl es OpenGL如何创建更好的3D模型?,opengl-es,opengl-es-2.0,Opengl Es,Opengl Es 2.0,现在我正试图在OpenGL中创建一个螺旋线,我已经成功地创建了一个带有直线的螺旋线。但这并不是很详细。。。所以我做了一些谷歌搜索,我想我可以用三角形来代替 所以我想知道,如果我们以我的螺旋线为例,这个建议是否意味着要计算螺旋线的所有三角形的位置,还是意味着我应该使用一些3D程序,比如。。。blender、Maya等创建模型并将其导入OpenGL?我假设您使用的是: 然后进行采样t,并用直线连接连续点 形成网格(带状或管状)的下一步是为每个样本创建网格。导数(x'(t),y'(t),z'(t))(

现在我正试图在OpenGL中创建一个螺旋线,我已经成功地创建了一个带有直线的螺旋线。但这并不是很详细。。。所以我做了一些谷歌搜索,我想我可以用三角形来代替

所以我想知道,如果我们以我的螺旋线为例,这个建议是否意味着要计算螺旋线的所有三角形的位置,还是意味着我应该使用一些3D程序,比如。。。blender、Maya等创建模型并将其导入OpenGL?

我假设您使用的是:

然后进行采样
t
,并用直线连接连续点

形成网格(带状或管状)的下一步是为每个样本创建网格。导数
(x'(t),y'(t),z'(t))
(速度分量
V
) 将给你一个轴和二阶导数
(x'(t),y'(t),z'(t))
将给你另一个轴(加速度分量
A
)。执行叉积以获取第三个轴,并对轴向量进行正交规格化以获取附着到点的坐标系。 如果使用“管”对形状建模,则在此坐标系中定义管的横截面,并连接相应的横截面点以形成网格:

如果只是使用功能区,则更简单--只需将a轴用于横截面并连接点以形成网格:

派生向量
V

   x'(t) = r*sin(t)
   y'(t) = -r*cos(t)
   z'(t) = c
二阶导数向量
A

   x''(t) = -r*cos(t)
   y''(t) = -r*sin(t)
   z''(t) = 0
要对坐标系进行正交规格化的数学:

   normalize(A)
   AxV = cross(A,V)
   normalize(AxV)
   V = cross(AxV,A)

这取决于几件事。螺旋线或相机在移动吗?螺旋线是像缎带还是管?它会有纹理吗?它会应用3D照明吗?谢谢你的回答,我会试试的。谢谢你的帮助,我让Frenet框架工作起来了。我不得不根据我自己选择的一些值来增加z值。但它是有效的:)@WYS sweet。我很高兴我讲得通。
   normalize(A)
   AxV = cross(A,V)
   normalize(AxV)
   V = cross(AxV,A)