Wie erzeuge ich ein 3D- Pentagon-Dodekaeder?
. . . Eine grobe Schritt-für-Schritt - Anleitung . . .






Anwendungsbild Beschreibung des Vorgehens

Leider kann dieser Browser keine Canvas-Grafik darstellen

Voransicht des Ergebnisses von Bild 11

Das letzte Bild auf dieser Seite unten zeigt den Endzustand der Anleitung
zum Erzeugen des PentagonDodekaeders, das ihr unten seht.

Da ein Isokaeder bei der Berechnung so nebenbei mit berechnet wird,
wird es dann auch gleich angezeigt, da alle Punkte schon da sind.

Wenn Du die Drehung an beliebiger Stelle anhalten möchtest, dann
habe ich für diesen Zweck den Button (die Schaltfläche) "Drehung"
die dort zur Verfügung gestellt, auf den/die geklickt werden kann,
um zu stoppen. Darauf wird auch mit dem Pfeilkästchen hingewiesen.

Beim Laden der Webseite ist ist die Animation im Automatikmodus.
Das heißt, dass am Ende der Animation die Webseite automatisch
neu geladen wird, wodurch die Animation wieder von vorn beginnt.

Wenn die Animation einmal per Button beendet wird, dann ist der
Automatikmodus ausgeschaltet und die Animation kann genau an
der gleichen Stelle fortgesetzt werden, endet jedoch von allein.
Ein 2D/3D-Demospiel gibt es auf "Farbschach.de -''Pentadreh''".

  • siehe auch: Ein Würfel im Dodekaeder


  • Leider kann dieser Browser keine Canvas-Grafik darstellen
    Bild 1
    Ausgangspunkt ist die Tatsache, dass in einem Zwölffach-Fünfeck-Objekt
    (Pentagon-Dodekaeder) auch ein Würfel enthalten ist, wie das auch auf der
    mit dem nebenstehenden, gelb markierten Link zur Webseite beschrieben ist.

    Also definieren wir zuerst die acht Eckpunkte eines Würfels,
    der Einfachkeit halber 2 Quadrate hintereinander (im Bild versetzt gezeigt).
    Dabei sind die X-(horizontal) und Y-Richtung (vertikal) sichtbar
    und die Z-Richtung, sozusagen als Draufsicht, nach vorn bzw. hinten:

    P1=(-1,+1, -1); P2=(+1,+1, -1); P3=(+1,-1,-1); P4=(-1,-1, -1);
    P5=(-1,+1,+1); P6=(+1,+1,+1); P7=(-1,-1,+1); P8=(+1,-1,+1);

    (Später werden alle Punkte etwas um die X- und Y-Achse gedreht,
    damit der Würfel besser in seiner 3D-Form erkennbar sein wird.)

    Im Quelltext dieser Webseite finden Sie den Ausgangsprogrammtext,
    der in 2 Bereichen ( Anzeige + Programm ) weiterentwickelt wird.
    Im oberen Quelltextbereich stehen die Anzeigetexte, unten Programmcode,
    der für die programmatisch erstellten Objekte/Zeichnungen benutzt wird.
    Der erste Teil steht in einer Tabelle mit 2 Spalten, danach JavaScript-Code.

    Leider kann dieser Browser keine Canvas-Grafik darstellen

    Bild 2
    Es macht es uns leichter, dass sowohl der Würfel als auch ein Fünfeck
    je alle Seiten gleich und zueinander ein festes Größenverhältnis haben.
    Die Kantenlänge des Würfels ist gleichzeitig die Diagonale des Fünfecks
    und alle Seiten des Daches, außer der Grundfläche, haben die gleiche
    Seitenlänge = a , die jeweils sich aus den Kanten des Fünfeckes bilden.

    Daher können wir die Diagonale d = Kantenlänge des Würfels in ein festes
    Verhältnis zur Fünfeck-Seitenlänge a setzen und mit Formeln berechnen.
    Für uns reicht jedoch, wegen des festen Verhältnisses die Formel
    d = 1,618033988749895 * a ... bzw. ... a = d : 1,618033988749895

    Nun zur Frage, wie wir die Eckpunkte des Dachfirstes berechnen.
    Auch das ist einfacher, als es auf den ersten Blick erscheint:
    Der Dachfirst ist ja immer genau über dem Mittelpunkt des Würfels.
    Da der Mittelpunkt bei Null liegt, ist der Eckpunkt bei +a : 2 oder -a : 2
    Bleibt die Höhe H für die wir die Formel im Abschnitt Volumen sehen.
    Dort ist die einfache Formel H=(1/2)a zu finden, also H = 0,5 * a


    Leider kann dieser Browser keine Canvas-Grafik darstellen
    Bild 3
    Da der Würfel regelmäßig ist, gilt die Dachfunktion für alle Seiten,
    nur, dass die Richtung des Dachfirstes zu den Nachbarn um 90°
    gedreht ist, wodurch sich im Raum automatisch ein Fünfeck ergibt.
    Dieses wird z.B. durch die Punkte P6, P9, P10, P2 und P11 gebildet.
    Die Punkte P2 und P6 ergeben sich aus den Würfeldimensionen und
    die Punkte P9, P10 und P11 sind Dachfirstpunkte, die wie folgt
    beispielhaft für die Punkte P9 und P10 berechnet werden:

    1.Richtung(x=waagerecht) ist x = 0, weil sie genau über der Mitte liegen
    2.Richtung(y=senkrecht) ist y = d : 2 + H = halbe Kantenlänge + Höhe H
    3.Richtung(z=vorn/hinten) ist bei P9.z = +a : 2 und bei P10.z = -a : 2

    Für den Punkt P11 wäre demnach x = d : 2 + H, y = a :2 und z = 0

    So ermitteln wir alle Eckpunkte aus den passenden Richtungswerten,
    da die Abstände vom Nullpunkt bei einem Würfel überall gleich sind.

    Leider kann dieser Browser keine Canvas-Grafik darstellen

    Bild 4
    Würden wir alle Punkte anzeigen lassen, dann sähen wir auch Punkte,
    die beim realen Körper unsichtbar wären, weil sie auf der Rückseite liegen.
    Daher berechnen wir uns auch noch die Mittelpunkte aller Fünfeckflächen,
    um nur die Flächen zuzeichnen, deren Mittelpunkt für uns sichtbar ist.

    Um den Mittelpunkt M eines Fünfeckes zu berechnen benötigen wir zuerst
    die Höhe h des Fünfeckes (z.B. die zwischen den Punkten P11 und P12).
    P12 liegt dabei genau über dem Nullpunkt und gleichhoch wie P9 und P10.
    P12.x = P9.x = P10.x , P12.y = 0 und P12.z = 0 , P11-Werte siehe oben.
    Die Höhe h ist im Verhältnis zu Seitenlänge a: h=[sqrt(5+2*sqrt(5))]/2*a

    Der Mittelpunkt des Fünfecks liegt nicht auf der Hälfte der Höhe h, sondern
    wir benötigen den Radius des Innenkreises r als Entfernung von P12 zu M
    oder den Radius R des Umkreises als Entfernung vom Punkt P11 zu M
    für die Berechnung, um die Höhe des Fünfecks zu ermitteln.
    r = [sqrt(25+10*sqrt(5))]/10*a bzw. R = [sqrt(50+10*sqrt(5))]/10*a .
    Die Formeln dafür finden wir im Link-Abschnitt Herleitung der Formeln.


    Leider kann dieser Browser keine Canvas-Grafik darstellen
    Bild 5
    Die Höhe h des Fünfeckes kann mit h = r+R zur Kontrolle ermittelt werden.

    Der Höhenunterschied z.B. zwischen P12.y und P11.y ist natürlich geringer,
    als der sie verbindende Wert von h, weil die Punkte räumlich versetzt sind.

    Jedoch ist es so, dass sich die Höhenänderung bis zum Mittelpunkt M
    im gleichen Verhältnis ändert, wie h zur Differenz P12 minus P11 steht.

    Also können wir die x-, y- und z-Werte des Mittelpunktes M ermitteln,
    indem wir z.B. das kleinere Verhältis von r zu h mal (P12 minus P11)
    nehmen und den errechneten Unterschiedswert vom Punkt P12 abziehen.

    M.x = P12.x - (P12.x - P11.x) / h * r , M.y = P12.y - (P12.y - P11.y) / h * r
    und auch M.z = P12.z - (P12.z - P11.z) / h * r in der gleichen Form.

    ( Auf die gleiche Art könnte auch der Wert von R benutzt werden, der
    ja nur die Entfernung des Mittelpunktes M vom Punkt P11 darstellt.
    Also z.B. M.y = P11.y + (P12.y - P11.y) / h * r, da M.y größer als P11.y ist.)

    Ausgehend von einer Dachmitte und dem gegenüberliegenden Eckpunkt
    des Fünfecks können wir alle Mittelpunkte aller Fünfecke berechnen.

    Leider kann dieser Browser keine Canvas-Grafik darstellen

    Bild 6
    Nun berechnen wir alle Punkte des Pentagondodekaeders (Quelle2.htm).

    Wenn wir uns das Ergebnis aller errechneten Punkte anzeigen lassen,
    dann sehen wir, dass das Pentgondodekaeder auf einer Kante steht.
    Das ist natürlich nicht so schön, weil es praktisch selten so zusehen und
    es auch beim Drehen anschaulicher ist, wenn es auf einer Fläche steht.
    Denn drehe ich ein flach liegendes Fünfeck um seinen Mittelpunkt, dann
    ist einerseits der Höhenwert jedes Punktes immer gleich und andererseits,
    nimmt bei einer Drehung um 72 Grad, der Kordinaten-Wert jedes Punktes
    den Wert des Punktes an, der vorher an diesem diesem Platz war.

    Damit das Objekt auf einer Fläche steht, sollten wir es zuerst kippen.
    Das kann rechts oder links geschehen, da der Körper ja regelmäig ist
    Wir können Formeln der 3D-Transformation z.B. von hier benutzen,
    da die Z-Achse parallel zur Kante liegt, also sich die Z-Werte sich bei der
    Drehung nicht ändern und wir damit auf einer Ebene drehen, wie bei 2D.
    Wir nehmen denmach die beiden Formeln nach "Rotation um z -Achse:"


    Leider kann dieser Browser keine Canvas-Grafik darstellen


    Bild 7
    Während ich die Bilder 1 bis 6 per Hand räumlich gezeichnet habe,
    wurde in Bild7 die Berechnung der Punkte und das Zeichen programmiert.

    Der Drehwinkel Aplha berechnet sich durch das rechtwinklige Dreieck
    mit H (Dreicksseite a) und mit d:2 (Dreicksseite b).Formel+Ergebnis hier

    Ich habe der Einfachkeit halber dort die Werte einfach eingetragen:
    Höhe H = Seite a = 0,5 * a und d:2 = b = 0,809016994374945 * a
    als Ergebnis erhielt ich Aplha = 31,71747441146108°, was auch der
    Drehwinkel ist, da die Seite d:2 und die Grundfläche parallel liegen.

    Um nicht alle Punkte einzeln drehen müssen, nutzen wir eine Funktion.
    Mit allen Punkten wird diese aufgerufen, um zum neuen Platz zu kommen.

    Die real benutzten Funktionen findet Ihr im Quelltext dieser Seite
    und in der Beispieldatei Quelle3.html, jeweils im Kommentar nach //
    erklärt, wenn ihr nach dem Wort function in der Datei sucht.




    Leider kann dieser Browser keine Canvas-Grafik darstellen
    Bild 8
    Die Formeln für die Drehung um die Z-Achse sind in Bild 6 gezeigt.
    intern sind die Formeln etwas anders, weil der Winkel zwischen Grad
    und Bogenmaß umgerechnet werden muss, da sin/cos das benutzt.

    Das Bogenmaß errechne ich so: rad = winkel/180* 3.14159265359
    Danach rechne ich mit diesem Wert weiter: cosi = Math.cos(rad) und
    sinu = Math.sin(rad)*(fak); wobei cosi und sinu auch nur Variablen sind,
    um die Zwischenwerte zu speichern, mit denen ich dann weiterrechne.

    Die praktische Formel ist dann also x' = x * cosi - y * sinu; ähnlich oben
    bzw. y' = x * sinu + y * cosi, weil die Berechnung nur aufgeteilt wurde.

    Als nächstes drehen wir das Objekt um die Y-Achse, die senkrecht steht.
    Das obere Objekt in Bild 8 ist um 90° vom unteren Stand Bild 7 abgeleitet.

    Drehen wir das Objekt 90° um die X-Achse sehen wir die untere Ansicht.
    Dabei sind die 90°-Drehungen nur beispielhaft ausgewählt.
    Leider kann dieser Browser keine Canvas-Grafik darstellen
    Bild 9
    Beim Untersuchen des Pentgondodekaeder sind mir 2 Dinge aufgefallen.

    1. Außer dem Würfel der die gleichen Eckpunkte wie unser Objekt hat,
    hat auch ein anderer Körper die gleichen von uns berechneten Punkte:
    ein Isokaeder ist ein Körper, der immer da einen Eckpunkt hat, wo jedes
    Fünfeck unseres Objektes seinen Mittelpunkt hat (blaue Eckpunkte).
    Das Isokaeder entsteht, wenn wir alle Mittelpunkte der 5-Ecke verbinden,
    aus denen sich ein Pentagondodekaeder zusammensetzt. (blaue Linien).
    Es besteht insgesamt aus 20 Dreiecken und ist auch sehr regemäßig.
    Damit können wir beide gemeinsam berechnen bzw. Werte übernehmen.

    2. ergibt sich aus der Regelmäßigkeit der beiden Körper, dass er geteilt
    werden kann und dabei die eine Hälfte genauso groß ist wie die andere.
    Eine der möglichen Schnittebenen ist mit der brauen Linie eingezeichnet.
    Jede Linie wird jeweils auf der Hälfte zwischen den Eckpunkten geteilt.
    Obwohl der eine Körper aus Fünfecken und der andere aus Dreiecken
    besteht, sind beide durch 6 Schnittebenen teilbar, die anders sind, als
    die beiden Varianten, die im Abschnitt "Halbierung des Dodekaeders"
    beschrieben sind. Damit entstehen Verdrehmöglichkeiten ähnlich dem
    Rubikwürfel, die ich nachfolgend später nur angedeutet zeigen möchte.

    Leider kann dieser Browser keine Canvas-Grafik darstellen Bild 10
    Um auch beim Isokaeder nur die sichtbaren Linien auszugeben, sollten
    wir auch hier für jedes Teil den Mittelpunkt ermitteln. Das ist einfacher,
    als es beim Fünfeck war, weil wir im oberen Teil von Bild 10 sehen,
    dass ein Eckpunkt der Fünfecke genau über dem Mittellpunkt PM liegt.
    Es ist nicht wichtig, welche Werte dieser Mittelpunkt genau hat, weil
    uns nur die Richtung interessiert, ob PM.z oberhalb der Nullebene liegt.

    Die braun markierten Fünfecke sind also nur ein Beispiel und Hinweis,
    dass wir entweder eine Ecke eines Fünfecks nehmen könnten, oder
    den Punkt, der der Ecke des jeweiligen Fünfecks gegenüber liegt.
    Ich habe mich für den Punkt entschieden, weil ich den am leichtesten
    finde, indem ich den gemeinsamen Eckpunkt der drei Fünfecke nehme,
    die ich ja schon für die Eckpunkte des Dreiecks ermitteln musste.

    Ein Punkt auf der Hälfte einer Seite ist jeweils z.B.: P12.x=(P1.x+P2.x)/2 .
    Diese benötigen wir, um die Schnittebenen einzeichnen zu können.
    In der unteren Zeichnung von Bild 10 sehen wir 3 mögliche Schnitte
    entsprechend der gemeinsamen Schnittvariante aus Bild 9 oben.

    Nachfolgend werden alle je 6 möglichen Schnittebenen dargestellt.

    Leider kann dieser Browser keine Canvas-Grafik darstellen

    Bild 11
    Jede dieser Schnittebenen ist in einer anderen Farbe dargestellt, die
    auf der linken Seite durchnummeriert als waagerechter Strich noch
    einmal angezeigt wird. Dabei sind, wie schon weiter oben angedeutet,
    sowohl die Schnittebenen der beiden Körper von der Lage her gleich,
    als auch von der Berechnung, durch die Ermittlung der Halbierenden
    zwischen den jeweiligen Eckpunkten des Körpers.

    Wenn Du die Drehung an beliebiger Stelle anhalten möchtest, dann
    habe ich für diesen Zweck den Button (die Schaltfläche) "Drehung"
    zur Verfügung gestellt, auf den/die geklickt werden kann,
    um zu stoppen. Darauf wird auch mit dem Pfeilkästchen hingewiesen.

    Beim Laden der Webseite ist ist die Animation im Automatikmodus.
    Das heißt, dass am Ende der Animation die Webseite automatisch
    neu geladen wird, wodurch die Animation wieder von vorn beginnt.

    Wenn die Animation einmal per Button beendet wird, dann ist der
    Automatikmodus ausgeschaltet und die Animation kann genau an
    der gleichen Stelle fortgesetzt werden, endet jedoch von allein.
    Ein 2D/3D-Demospiel gibt es auf "Farbschach.de -''Pentadreh''".