1

メタン画像で説明されているように、2 つの境界の間角度が 109 度になるように Java3d で四面体を作成する必要があります (H は C で境界付けられているため、線が境界です)。
どうすればいいのか、まったくわからないことを認めなければなりません。私はそのようにそれを試しました: 1 つは rotX と rotZ で両方とも 0 度でバインドされています。109 度の 1 つの rotX。rotZ次のステップはrotX109 度です。rotX の角度が AngleX で、rotZ の角度が AngleZ であるとします。私のシリンダーの終わりは(計算され、試された) になり(sin AngleZ,cos AngleZ*cos AngleX, cos AngleZ*sin AngleX)ます。これは合法なので、明らかにもう一度回転しても意味がありません。

長さ 2f の 4 つの円柱があり、一度に 1 つずつ作成され、(0,1,0) に変換されるため、それらの端は (0,0,0) になります。この時点から、点 (0,0,0) を中心に円柱を回転させ、四面体を達成しようとします。左の円柱は {109,0} にあり、右の円柱は {109,109} にあります。左の円柱と上に行く円柱と、右の円柱と上に行く円柱の間の角度が同じではないことは容易にわかります。角度 {0,0}、{109.5,0}、{109.5,109,5} の境界の画像 (見やすいようにマウスで回転)

また、これを微積分で解決してもあまり役に立たないと言わざるを得ません。状況によっては角度を変更する必要があるかもしれませんが、シリンダー間で同じ角度にする必要があるからです。

何か案は?これをどのように解決すればよいですか?

注: 簡単にするために、プログラムでラジアンを度に変換したので、度で作業します。

4

1 に答える 1

3

これを必要以上に複雑にしている可能性があると思います。メタンは対称的ではありませんか?その場合、水素原子を立方体の隣接していない頂点に配置し、炭素を立方体の中心に配置します。

私が何を意味するかを理解するには、Google で「メタン対称性」を検索し、画像を見てください。

非対称のバリアントが必要な場合でも、プログラムの外部で、または非グラフィカルコードを使用してアトムの位置を計算し、Java-3d のみを使用して配置します。

于 2012-11-05T15:19:11.593 に答える