Source: Scratch Wiki en français
La trigonométrie est une branche des mathématiques. Elle a pour objectif de calculer les relations et les angles dans les triangles.
La trigonométrie contient notamment 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.
Utilisation
La trigonométrie peut être utilisée pour calculer, dans Scratch, des graphiques 3D, des rotations dans des cercles, de la physique...
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.