我需要一个算法,可以给我一个球体周围的位置N点(可能小于20),模糊地将它们展开.没有必要"完美",但我只是需要它,所以没有一个被捆绑在一起.
我遇到的一些其他问题主题是随机均匀分布,这增加了我不关心的复杂程度.我很抱歉这是一个如此愚蠢的问题,但我想表明我真的很努力,但仍然很短暂.
所以,我正在寻找的是简单的伪代码,可以在单位球体周围均匀分布N个点,这些点可以返回球形或笛卡尔坐标.如果它甚至可以通过一点随机分布来更好(想想围绕恒星的行星,分散得很好,但有余地的余地).
我正在尝试使用平面着色在 LWJGL OpenGL 中渲染 3D 棱镜。例如,我有一个索引如下的多维数据集:
我的顶点缓冲区中只有 8 个顶点,我已按上述方式对其进行了索引。有没有办法在立方体上实现平坦的法线着色,如下所示?如果可能的话,我不想重写我的顶点和索引缓冲区以包含重复的顶点。
我正在尝试制作一个球形爆发射线以检查碰撞,但是根据每条射线撞击的内容或位置发生特定的相互作用.因此,为什么我使用光线而不是更简单的东西,如OverlapSphere.
我正在寻找如何制作球体的原因是因为我可以使用相同的数学计算我的光线,让它们到达球体所在的顶点.但是我能找到制作球体的每一种方式都会让线条越来越接近极点,这很有意义,因为它很容易做到.但是你可以想象,它对我当前的项目没那么有用.
TL; DR: 如何制作具有等距顶点的球体?如果它的罚款不完全等距,它只需要非常接近.如果发生这种情况,如果你可以给出差异的多少,以及在哪里,如果适用,那将是很好的.
我试图在单位球体的表面上或多或少均匀地排列点.
我被告知虽然这个问题很难解决,但Fibonacci Lattices提供了一个非常好的解决方案.
我已经尝试了几天来关注链接文档中提供的非常简单的方法,但我根本无法让它看起来正确.
我正在使用javascript,我有一个对象数组e,每个对象都公开一个lat和lon参数.这是我用来排列球体上的点的函数:(现在假设点的数量总是奇数)
function arrangeEntries(e)
{
var p = e.length;
var N = (p - 1) / 2;
for (var i = -N; i <= N; i++)
{
e[i + N].lat = Math.asin((2 * i) / (2 * N + 1));
e[i + N].lon = mod(i, 1.618034) * 3.883222;
}
}
Run Code Online (Sandbox Code Playgroud)
同
function mod(a, b)
{
return a - Math.floor(a / b) * b;
}
Run Code Online (Sandbox Code Playgroud)
不同于文档中,我lat和lon …
我正在研究用六边形网格制作的行星.不需要杆 - 使这更容易一些.有没有更好的方法将圆柱体变成具有均匀六边形/三角形的球体?
这是所需的步骤:
对于第2步,我只是使用Sin和Cos将顶点移动到圆形.对于第3步,现在我只是使用:vertices[i] = vertices[i].normalized * radius;
图像可视化当前的问题.
请注意,电极是故意切断的.红色部分显示六边形网格的样子.我必须保持它们的大小和方向大致相同,因为它们用于游戏和视觉元素.每个十六进制都有一个邻居列表,基本上就像一个图形.
我想尝试编写类似于4D玩具的游乐场,所以我开始学习opengl。
根据我目前的理解,人们将VBO和统一的转换矩阵用于大多数静态对象
(例如立方体,骨骼动画等,通常只涉及转换)。
我还听说,模型之间的变形也使用VBO来缓存两个模型,因为这两个模型都可以很好地定义并且不需要太多的中间步骤。
但是在上面提到的4D玩具中,物体会发生变形并被大量裁剪。
而且很可能没有定义的模型,并且两者之间有很多转换。
(现在可能是一个简单的正方形,一个尖刺的球在以后被切成两半)。
在这种情况下,每帧更新顶点VBO或顶点数组(我在另一个问题中看到)是合适的解决方案吗?
我正在尝试创建一个类似于Miegakure的 4D 环境。
我无法理解如何表示旋转。Miegakure 的创建者写了这篇小文章,解释了他为 4d 转子制作的课程。 http://marctenbosch.com/news/2011/05/4d-rotations-and-the-4d-equivalent-of-quaternions/
我怎样才能实现这个类的功能?特别是旋转矢量和其他转子的功能,并得到逆?
我将不胜感激一些伪代码示例。非常感谢任何麻烦回答的人。