Non abbiamo una sola sfida nel disegnare un cubo tridimensionale reale, quindi eccolo qui:
Sfida
Il tuo compito è disegnare un cubo ruotato con prospettiva. Può essere in una finestra separata o come immagine.
Ingresso
L'immissione è di 3 numeri separati tra 0 e 359,99 ... Questi rappresentano la rotazione attorno agli assi x, ye z in gradi.
0 0 0
30 0 40
95 320 12
Produzione
Puoi visualizzarlo in una finestra separata o salvare un'immagine. È possibile utilizzare qualsiasi tipo di display (basato su vettori, rasterizzato, ecc.).
Modifica: è consentito anche ASCII, per consentire il golf delle lingue con solo output testuale.
L'output per la grafica rasterizzata o ASCII deve essere almeno 50 * 50 (pixel per la rasterizzazione, caratteri per ASCII)
Informazioni aggiuntive
L'asse z positivo indica dalla finestra, l'asse x è orizzontale e l'asse y è verticale. Fondamentalmente lo standard OpenGL.
Le rotazioni sono in senso antiorario se si guarda il cubo nella direzione negativa di un asse specifico, ad esempio guardando verso l'asse y.
La telecamera dovrebbe trovarsi sull'asse z ad una distanza ragionevole dal cubo nella direzione z negativa, il cubo dovrebbe essere a (0; 0; 0). Il. Anche il cubo deve essere completamente visibile e occupa almeno il 50% della cornice di disegno. La fotocamera dovrebbe guardare in direzione z positiva verso il cubo.
Le rotazioni del cubo vengono applicate nell'ordine x-> y-> z.
Il cubo viene ruotato attorno al suo centro, non si muove.
Per proiettare un cubo nello spazio 2d, è necessario dividere le coordinate xey del cubo con la distanza parallela all'asse z tra il punto e la telecamera.
Regole
Le librerie di rendering sono consentite, ma i vertici devono essere definiti nel codice. Nessuna classe di modello cubo 3d.
Casi test
google will tell you the formula.
No , le sfide dovrebbero contenere la maggior parte del materiale e delle informazioni necessarie per risolverli il più possibile, inclusi nel corpo del post . Non dovrei andare a cercare su Google o Wikipedia solo per iniziare a capire.