正如描述Methane image,我需要在Java3d中制作一个四面体,其中任何两个边界之间的角度为109度(H与C有界,所以这些线是边界)。
我必须承认,我不知道该怎么办。我试着这样做:一个用rotX绑定,rotZ用0度绑定。一个rotX在109度。下一步是rotZ
和rotX
在109度。假设rotX的角度是AngleX,rotZ的角度是AngleZ。我的圆柱体的末端将在(sin AngleZ,cos AngleZ*cos AngleX, cos AngleZ*sin AngleX)
处进行(计算并尝试)。这是合法的,因此再次轮换将不会有任何好处。
我有4个2f长度的柱面,一次创建一个,翻译为(0,1,0),因此它们的结束位于(0,0,0)。从这一点开始,我围绕点(0,0,0)旋转我的圆柱体,并尝试实现四面体。左侧圆柱位于{109,0},右侧位于{109,109}可以很容易地看出,左侧圆柱与前一个圆柱体之间的角度不同,右侧圆柱体与圆柱体上升{{0} }
另外我不得不说通过微积分来解决这个问题对我来说不会太有帮助,因为在某些情况下我可能需要改变角度,但我仍然需要它在圆柱体之间有相同的角度。
有什么想法吗?我该怎么解决这个问题?
注意:为了更容易,我在程序中从弧度转换为度数,因此我使用度数。
答案 0 :(得分:3)
我认为你可能会让它变得比它需要的复杂一点。甲烷不对称吗?如果是这样,将氢原子放在立方体的非相邻顶点,将碳放在立方体的中心。
要明白我的意思,Google会搜索“甲烷对称性”并查看图片。
如果您需要非对称变体,我仍然会计算程序外部原子的位置,或者使用非图形代码,并且只使用java-3d来放置它们。