Wir haben keine einzige Herausforderung beim Zeichnen eines echten dreidimensionalen Würfels.
Herausforderung
Ihre Aufgabe ist es, einen gedrehten Würfel mit Perspektive zu zeichnen. Es kann in einem separaten Fenster oder als Bild sein.
Eingang
Ihre Eingabe besteht aus 3 separaten Zahlen zwischen 0 und 359,99 ... Diese repräsentieren die Drehung um die x-, y- und z-Achse in Grad.
0 0 0
30 0 40
95 320 12
Ausgabe
Sie können es entweder in einem separaten Fenster anzeigen oder ein Bild speichern. Sie können jede Art von Anzeige verwenden (vektorbasiert, gerastert usw.).
Bearbeiten: ASCII ist ebenfalls zulässig, um Golfsprachen nur mit Textausgabe zuzulassen.
Die Ausgabe für gerasterte oder ASCII-Grafiken muss mindestens 50 * 50 betragen (Pixel für die Rasterung, Zeichen für ASCII).
Zusätzliche Information
Die positive z-Achse zeigt aus dem Fenster, die x-Achse ist horizontal und die y-Achse ist vertikal. Grundsätzlich der OpenGL-Standard.
Drehungen erfolgen gegen den Uhrzeigersinn, wenn Sie den Würfel in der negativen Richtung einer bestimmten Achse betrachten, z. B. nach unten auf die y-Achse.
Die Kamera sollte sich in negativer z-Richtung auf der z-Achse in einem angemessenen Abstand vom Würfel befinden, der Würfel sollte sich auf (0; 0; 0) befinden. Das. Der Würfel muss außerdem vollständig sichtbar sein und mindestens 50% des Zeichenrahmens einnehmen. Die Kamera sollte in positiver z-Richtung auf den Würfel schauen.
Die Rotationen des Würfels werden in der Reihenfolge x-> y-> z angewendet.
Der Würfel wird um seine Mitte gedreht, er bewegt sich nicht.
Um einen Würfel im 2D-Raum zu projizieren, müssen Sie die x- und y-Koordinaten des Würfels durch den Abstand parallel zur z-Achse zwischen dem Punkt und der Kamera teilen.
Regeln
Rendering-Bibliotheken sind zulässig, die Eckpunkte müssen jedoch im Code definiert werden. Keine 3D-Würfel-Modellklasse.
Testfälle
google will tell you the formula.
Nein , Herausforderungen sollten so viel Material und Informationen wie möglich enthalten, die zur Lösung erforderlich sind und im Hauptteil des Beitrags enthalten sind . Ich sollte nicht googeln oder Wikipedia gehen müssen, um zu verstehen.