3D动力学 - avim万向节锁(一种可能的新方法)

时间:2013-03-08 09:31:20

标签: webgl

这个问题可能违反了不应该问冗长问题的规则。但接下来我的回答如下:有人能指出我可以问这个问题的地方......(或正确地提出问题)?

首先,为了说明这一点,我是机械工程教授,具有动力学专业。所以我知道万向节锁的问题,我理解了四分之一角,欧拉角和必要时的tait-bryan角。

我开发了一种新的3D动态方法。这种方法基于李尔代数,移动框架和新的符号;它使3D动力变得容易。它有可能解决奇点,但没有四分之一的复杂性。

我希望证明这种方法可以解决计算机图形学中的这些问题。

现在我已经用OpenGL,SGI Inventor和webGL编写了代码。我使用过proEngineer和Blender。因此,如果您希望以这种方式解释,我将能够跟进有关这些问题的讨论。

现在问题是......。

如何在webGL中解决万向节锁问题?即便如此:“解决”是什么意思?对于所有这些,我不清楚。

是的,我可以避免某些动作使内框架朝向奇点。那会解决它。或者当我接近奇点时,我可以切换到四分之一。或者我可以添加另一个运动学位。这些都是解决方案的不同“分类”:一些在用户级别,一些在编码器级别。

所以,假设我有一个方法(不是C ++意义上的那个词 - 然后,谁知道,对吧)......一种允许用户以更简单的方式实现3D旋转的方法。

请问webGL的开发人员实现新方法吗? webGL_quarternion webGL_euler_angle webGL_new_method_in_moving frame

新方法会用旧方法编码吗?例如,再进行四分之一调用,调用欧拉角方法吗?

我只是想找到一种方法来证明这种新方法对计算机图形程序员或用户(例如:Blender用户)更有用。

1 个答案:

答案 0 :(得分:0)

WebGL不使用任何特定方法来管理轮换;如果你觉得它确实如此,那么你一定是在使用一些高级库来为你隐藏WebGL的基础。 WebGL提供了屏幕空间绘图和快速4×4矩阵运算,可以在写入的着色器中构建转换,这些转换可以从Euler角度,四元数,纯旋转矩阵或任何您关心的其他内容中导出发明。

如果你有更好的数学来管理旋转,那么我鼓励你继续编写顶点着色器来计算它;不需要扩展WebGL。