Source: Scratch Wiki en français


Trigonométrie et jeux 3D


La trigonométrie est une branche des mathématiques et particulièrement de la géométrie.. Elle a pour objectif de calculer les relations et les angles dans les triangles rectangles.

La trigonométrie utilise les fonctions sinus, cosinus et tangente, qui ont pour objectif de calculer le rapport entre angle et longueur des cotés d'un triangle rectangle.

3D filaire

Introduction

Dans ce tutoriel, nous allons apprendre à faire de la 3D filaire. La 3D filaire est utilisée dans le milieu professionnel à des fins de débogage ou quand la simulation est très grande, car elle est relativement facile à calculer. Avant de commencer, nous allons d'abord commencer avec la 2D.

Commençons avec la 2D

En 2D, chaque point à 2 coordonnées: x et y. Comme Scratch permet d'éditer sur une surface, donc en 2D, il est très facile de dessiner en 2D avec lui. Nous allons maintenant créer un rectangle en 2D. Après, nous le transformerons en cube 3D.

Le programme rectangle 2D

  • Commencez par créer un bloc personnalisé appelé "render", qui servira à générer le rendu final. Cliquez sur la case "exécuter sans rafraichissement d'écran".
  • Créez ce script comme ceci :
quand le drapeau vert pressé
répéter indéfiniment
effacer tout
render
fin

définir render
aller à x: (50) y: (50)
stylo en position d'écriture
aller à x: (50) y: (-50)
aller à x: (-50) y: (-50)
aller à x: (-50) y: (50)
aller à x: (50) y: (50)
relever le stylo
  • Lancez-le. Vous voyez apparaître à l'écran un rectangle, plus précisément un carré.
  • Créez un autre bloc personnalisé que vous appellerez aller à:
définir aller à x: (x) y: (y)::custom
aller à x: (x)  y: (y)
  • Revenez l'ancien script qui faisait un carré. remplacez les blocs "aller à" par ce que nous venons de faire.
  • Vous arrivez aussi à un carré...
  • Modifiez votre bloc personnalisé "aller à" en "aller à avec décalage"
définir aller à x: (x) y: (y) avec décalage
aller à x: ((x) + (décalage x)) y: ((y) + (décalage y))
  • Montrez les variables "x décalage" et "y décalage"
  • double cliquez 2 fois sur chacune d'elle.
  • Si vous bougez le curseur et que vous lancez le projet vous pouvez bouger votre carré.

Introduction à la 3D

Chaque point 3D comporte, lui, 3 coordonnées: x,y et z. Dans Scratch, étant donné qu'il est fait pour la 2D, il est légèrement plus difficile de faire de la 3D.Ce n'est quand même pas trop difficile, comme vous allez le voir.Quand vous dessinez, vous rendez les objets plus petits pour les faire paraitre plus loin. En d'autres termes, quand z devient grand, x et y visibles deviennent plus petits.On peut l'écrire en formules mathématiques:

  • x/z
  • y/z
  • x visible= facteur de vue
  • y visible= facteur de vue

Le facteur de vue est un nombre lié au champ de vision. plus le facteur de vision est petit, plus le champ de vision est grand. Pour l'instant, nous allons prendre un facteur de vue=150.

Faire de la 3D

  • Changer le programme "aller à" en:
définir aller à x: (x) y: (y) z: (z) avec décalage
aller à x: ((facteur de vue) * (((x) + (décalage x)) / ((z) + (décalage z)))) y: ((facteur de vue) * (((y) + (décalage y)) / ((z) + (décalage z))))
  • Ajoutez au début du script avec le drapeau vert "mettre point de vue à 150"
  • montrez la variable z décalage, pui double cliquez 2 fois dessus.
  • Maintenant, remplacez le script "render" par ce script:
définir render
aller à x: (50) y: (50) z: (0) avec décalage::custom
stylo en position d'écriture
aller à x: (50) y: (-50) z: (0) avec décalage::custom
aller à x: (-50) y: (-50) z: (0) avec décalage::custom
aller à x: (-50) y: (50) z: (0) avec décalage::custom
aller à x: (50) y: (50) z: (0) avec décalage::custom
relever le stylo
aller à x: (50) y: (50) z: (50) avec décalage::custom
stylo en position d'écriture
aller à x: (50) y: (-50) z: (50) avec décalage::custom
aller à x: (-50) y: (-50) z: (50) avec décalage::custom
aller à x: (-50) y: (50) z: (50) avec décalage::custom
aller à x: (50) y: (50) z: (50) avec décalage::custom
relever le stylo
aller à x: (-50) y: (50) z: (50) avec décalage::custom
stylo en position d'écriture
aller à x: (-50) y: (50) z: (0) avec décalage::custom
relever le stylo
aller à x: (50) y: (-50) z: (0) avec décalage::custom
stylo en position d'écriture
aller à x: (50) y: (-50) z: (50) avec décalage::custom
relever le stylo
aller à x: (50) y: (50) z: (50) avec décalage::custom
stylo en position d'écriture
aller à x: (50) y: (50) z: (0) avec décalage::custom
relever le stylo
aller à x: (-50) y: (-50) z: (0) avec décalage::custom
stylo en position d'écriture
aller à x: (-50) y: (-50) z: (50) avec décalage::custom
relever le stylo
  • En bougeant les curseurs, vous pouvez bouger votre cube 3D!

Création des fonctions permettant de tourner les objets 3D

Dans cette partie, nous allons voir comment tourner notre cube.

  • Nous allons d'abord commencer par créer 4 variables : rotation 1, rotation 2, position point x et position point y.
  • Maintenant que nous avons créé nos 2 variables, nous allons créer un bloc comme ceci :
définir aller à (x) (y) (z) avec décalage
mettre [position point x v] à (((([sin v] de (rotation 1)) * ((x) + (décalage x))) + ((([cos v] de (rotation 1)) * ((z) + (décalage z))) * [-1])) * (facteur de vue))
mettre [position point y v] à (((((([cos v] de (rotation 1)) * ((x) + (décalage x))) + (([sin v] de (rotation 1)) * ((z) + (décalage z)))) * ([cos v] de (rotation 2))) + (((y) + (décalage y)) * ([sin v] de (rotation 2)))) * (facteur de vue))
aller à x: (position point x) y: (position point y)

Vous pouvez maintenant faire tourner votre cube !

Sources

La partie tutorielle sur la 3D filaire est tirée d'une série de 5 projets en Anglais développés par @Mathmathmath dont vous pouvez trouver la première partie à cette adresse. Il n’a malheureusement pas pu être prévenu car son compte est inactif depuis 3 ans.

Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :