Hallo zusammen,
wie ich hier schon mal erwähnt hatte, schreibe ich gerade an einem Programm, welches für die Arbeit mit Struktur- und Summenformeln gedacht ist.
Dazu habe ich zwei Klassen geschrieben, eine für jedes Atom und eine für das ganze Molekül.
Das parsen einer Summenformel geht schon einigermaßen (zumindest bei Kohlenwasserstoffen), aber darum geht es weniger.
Mir geht es hauptsächlich darum, wie ich das am Sinnvollsten gezeichnet bekomme.
Mein jetztiger Ansatz ist, das jedes Atom eine feste Koordinate hat, davon will ich aber eigentlich wegkommen, eigentlich will ich nur sagen:
Zeichne das Molekül an Stelle xy und den Rest macht meine Funktion.
Also dachte ich mir ich gehe die Atomliste im Molekül durch und beginne mit dem ersten Atom. Das wird gezeichnet und die Bindungen werden eingezeichnet.
Dann gehe ich in die Bindungsliste des Atoms und rufe die Funktion zum Zeichnen rekursiv auf, für jede weitere Bindung.
Nun meine eigentliche Frage: ist es schlauer, die Winkel zwischen den Bindungen jedes Mal zu berechnen, oder würde es mehr Sinn machen, da mehr als 8 Bindungspartner meines Erachtens nicht möglich sind, die Winkel einmal zu berechnen und dann nur eine Fallunterscheidung zu machen?
Ich will versuchen das ganze so dynamisch wie möglich zu halten, zumal ich es später auf einen 3D Raum ausweiten möchte.