Weiß jemand, wie man einen Algorithmus erstellt, mit dem die Figur genau wie im Bild erstellt werden kann, wenn eine Reihe spezifischer Punkte (3D-Array) angegeben wird?
algorithms
user88794
quelle
quelle
Antworten:
Nach dem Kampf hierher zu kommen, aber da es noch keine akzeptierte Antwort gibt und zu sehen ist, dass @Luke sich weigert, den Repräsentanten zu bekommen, den er verdient, hier eine kurze Zusammenfassung des Links, den er bereitgestellt hat.
Der vollständige Algorithmus ist also hier verfügbar:
http://blog.andreaskahler.com/2009/06/creating-icosphere-mesh-in-code.html
Die Idee ist, Ihr Netz mit einer einfachen Methode zu booten, die Ihnen eine Kugel mit 20 Flächen gibt, und diese dann zu verfeinern, bis Sie zufrieden sind.
Bootstrapping der Form
Sie beginnen mit einem Ikosaeder . Wie der Wikipedia-Artikel sagt, können Sie die Eckpunkte erhalten, indem Sie drei identische und orthogonale Rechtecke zeichnen. Sie haben 3 Rechtecke mit jeweils 4 Ecken -> 12 Eckpunkte.
Wikipedia Abbildung:
Zum Beispiel sind die Z-Planpunkte (a, b sind die Rechtecklängen):
Jetzt müssen Sie noch die 20 Gesichter finden. Dies bleibt dem Leser als Übung überlassen: p
Die Form verfeinern
Nachdem Sie eine grundlegende Kugel haben, möchten Sie möglicherweise Polygone hinzufügen. Sie tun dies mit diesem einfachen Algorithmus:
Um den Mittelpunkt zu finden, nehmen wir an, dass wir die Einheitskugel (Mittelpunkt (0, 0, 0), Radius 1) erstellen möchten.
Bei jeder Iteration müssen wir möglicherweise die Gesichter rekonstruieren, aber es ist ziemlich einfach. Jedes Gesicht ist in vier Teile unterteilt:
quelle