在网格OpenGL-ES上创建一个气泡效果

时间:2010-06-04 21:37:34

标签: iphone opengl-es

我创建了一个40 x 40 vertex3D(小但很有用)的网格

我可以通过简单地调用位置数组[X] [Y]的函数来从该网格中选择一个顶点,因此也是邻居。如何提高邻居顶点Z值,使它们看起来像气泡或球体类似的东西?

我的第一个难点是使用:

Neighbor_vertex.Z = sin(PI/4 *  1 - ( 1/ distance_between_Neighbor_and_Pivot) ) * desired_Max_Height

但我得到的只是一个波浪......我希望有一个泡沫或球形状。

THX dudes and dudettes

2 个答案:

答案 0 :(得分:1)

你的公式看起来不太合适。试试这个:

Neighbor_vertex.Z = cos(PI / 2 * distance_between_Neighbor_and_Pivot)* desired_Max_Height;

您可能只想在距离小于1.0时更改Z值。

您是否使用Grapher应用程序测试公式?我推荐它。它随Mac一起提供。

答案 1 :(得分:1)

嗯,伙计们,如果你想制作一个球形的球形,你需要反向(弧)功能......

因此,公式应该像Neighbor_vertex.Z = sin(arccos(distance_between_Neighbor_and_Pivot / Buble_Radius))* Buble_Radius。

下图说明了公式。

Sketch http://img175.imageshack.us/img175/6052/34440153.png