繁体   English   中英

四面体Java3d

[英]Tetrahedron Java3d

如描述甲烷图像 ,我需要在Java3d中制作一个四面体, 任意两个边界之间的角度为109度(H与C有界,因此线是边界)。
我必须承认,我不知道该怎么办。 我试着这样做:一个用rotX绑定,rotZ用0度绑定。 一个rotX在109度。 下一步是rotZrotX在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},{109.5,0},{109.5,109,5}的边界图像(mouserotated,你可以看得更清楚)

另外我不得不说通过微积分解决这个问题对我来说不会太有帮助,因为在某些情况下我可能需要改变角度,但我仍然需要在圆柱体之间使用相同的角度。

有任何想法吗? 我该怎么解决这个问题?

注意:为了更容易,我在程序中从弧度转换为度数,因此我使用度数。

我想你可能会让它变得比它需要的复杂一点。 甲烷不对称吗? 如果是这样,将氢原子放在立方体的非相邻顶点,将碳放在立方体的中心。

看看我的意思是谷歌搜索“甲烷对称性”并查看图像。

如果你需要一个非对称变量,我仍然会计算程序外部原子的位置,或者使用非图形代码,并且只使用java-3d来放置它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM