[BraLUG] ein wenig Geometrie

Uwe Berger bergeruw at gmx.net
Mi Feb 7 17:05:44 CET 2007


MoinMoin,

ich bin gerade dabei ein paar "Primitiv"-Funktionen zur Ausgabe auf
meinen noch zu bauenden 3D-Cube zu schreiben und bin auf ein Problem
gestossen, wo ich eine Anregung suche:

Zeichnen einer Linie in einem 3D-Raum, wobei der Anfangs- und der
End-Punkt gegeben ist. Wie würdet ihr da algorithmusmäßig rangehen?

Meine bisherige Idee funktioniert zwar, ergibt aber in den meisten
Fällen keine Gerade: Da es ja nur ein paar Punkte sind, die betrachtet
werden müssen (8x8x8), dachte ich, ich suche den kürzesten Weg von Punkt
zu Punkt bis zum Endpunkt.
Also die Entfernungen aller an den Anfangspunkt angrenzenden Punkte
ermitteln, der mit der kleinsten Distanz zum Endpunkt, ist der Nächste
zu zeichnende Punkt. Von diesem neu ermittelten Punkt wieder alle
angrenzenden Punkte, Entfernungen usw. bis die Distanz Null ist, dann
bin ich angekommen....

Problem dabei ist, dass man keine ausgewogene Gerade bekommt. Der
Algorithmus versucht gleich am Anfang zwei der drei Ebenen des
Endpunktes zu erreichen und Ergebnis ist damit eine krumme Linie..., was
beim nachträglichen Überdenken auch logisch ist :-(.

Hat jemand eine Idee, wie es besser gehen könnte?

Fragt Uwe

PS.: Habe gerade meinen Bronstein (falls den jemand kennt) in meiner
derzeitigen Aufräumwut verlegt...



Mehr Informationen über die Mailingliste Bralug