【发布时间】:2011-09-15 00:27:40
【问题描述】:
有一些解析表达式可以计算三个穿透球体重叠所产生的曲线。还有一些近似方法使用网格或其他方法,以或多或少的精度计算属于此交点的点。我想知道对于后者,是否可以使用来自 GPU 的特殊硬件功能,使用 CUDA 或 OpenGL 以某种方式完成计算。我需要它用于计算密集型数字运算程序,因此琐碎的实现无效,因为它们非常慢,这就是我考虑 GPU 选项的原因
【问题讨论】:
-
如果你只是与球体相交,那么计算和结果就很简单:两个球体的交点总是一个圆或一个点,或者根本没有。 --- 真正困难的是参数补丁表面的交叉点,因为这意味着找到高阶多项式的零交叉点。
-
我的意思是三个球体;参数化面片,准确的
-
你可以混合任意数量的球体,它几乎总是微不足道的,而且很快就能解决。三个球体相交,最终有两个圆形边界?没问题:找到最近的点(可以再次进行分析),然后使用圆上的转角作为第一个参数,将那里的点之间的圆弧作为第二个参数。添加另一个球体,然后在这些弧之间进行插值。整个事情可以在递归程序中以封闭形式编写。读者练习:用所选的函数式语言实现它。
标签: opengl cuda geometry gpu hardware