Nous n'avons pas un seul défi à dessiner un vrai cube en 3 dimensions, alors voici:
Défi
Votre tâche consiste à dessiner un cube en rotation avec perspective. Il peut être dans une fenêtre séparée ou sous forme d'image.
Contribution
Votre entrée est composée de 3 nombres séparés entre 0 et 359,99 ... Ceux-ci représentent la rotation autour des axes x, y et z en degrés.
0 0 0
30 0 40
95 320 12
Production
Vous pouvez soit l'afficher dans une fenêtre séparée, soit enregistrer une image. Vous pouvez utiliser n'importe quel type d'affichage (vectoriel, tramé, etc.).
Edit: ASCII est également autorisé, pour autoriser les langues de golf avec uniquement une sortie textuelle.
La sortie pour les graphiques tramés ou ASCII doit être d'au moins 50 * 50 (pixels pour la pixellisation, caractères pour ASCII)
Information additionnelle
L'axe z positif pointe vers la fenêtre, l'axe x est horizontal et l'axe y est vertical. Fondamentalement, la norme OpenGL.
Les rotations sont dans le sens antihoraire si vous regardez le cube dans le sens négatif d'un axe spécifique, par exemple en regardant vers le bas pour l'axe y.
La caméra doit être sur l'axe z à une distance raisonnable du cube dans la direction z négative, le cube doit être à (0; 0; 0). Le. le cube doit également être entièrement visible et occuper au moins 50% du cadre de dessin. La caméra doit regarder dans le sens z positif au cube.
Les rotations du cube sont appliquées dans l'ordre x-> y-> z.
Le cube tourne autour de son centre, il ne bouge pas.
Pour projeter un cube dans un espace 2D, vous devez diviser les coordonnées x et y du cube avec la distance parallèle à l'axe z entre le point et la caméra.
Règles
Les bibliothèques de rendu sont autorisées, mais les sommets doivent être définis dans le code. Aucune classe de modèle de cube 3D.
Cas de test
google will tell you the formula.
Non , les défis doivent contenir autant de matériel et d'informations nécessaires pour les résoudre que possible, inclus dans le corps du message . Je ne devrais pas avoir à aller sur Google ou sur Wikipedia pour commencer à comprendre.