Discuss Scratch

Deuzz
Scratcher
500+ posts

Utilisation des bloc nodulo, arrondie, racine carrée ect...

SBissay wrote:

Deuzz wrote:

… J'ai bien vu l'erreur mais vu qu'elle apparait au-delà de la dixième décimale je pense que le bloc (arrondi ( …)) suffit à gérer l'approximation…

Le souci de l'arrondi, c'est que 2^(1/2) ( = racine de 2) donne 1 avec l'arrondi et pas 1.4142…

Donc en fait, quoi que l'on fasse, il y a un moment où l'on est embêté…

Quelle andouille ! …Des fois je ferais mieux de me taire…. vu que je n'ai testé les racines qu'avec des carrés et des cubes de nombres entiers, j'avais complètement zappé que ce genre de résultat pouvait être un flottant…

Redswap
Scratcher
58 posts

Utilisation des bloc nodulo, arrondie, racine carrée ect...

Ce sujet pique ma curiosité. Est-t-il possible de faire de la 3d au moins à peu près exacte mais sans les blocs de trigonométrie, ou alors on ne peu pas remplacer ces blocs avec tous les autres disponibles dans Scratch ?
Florian_KJH
Scratcher
1000+ posts

Utilisation des bloc nodulo, arrondie, racine carrée ect...

Redswap wrote:

Ce sujet pique ma curiosité. Est-t-il possible de faire de la 3d au moins à peu près exacte mais sans les blocs de trigonométrie, ou alors on ne peu pas remplacer ces blocs avec tous les autres disponibles dans Scratch ?
Il me semble que oui ^^

Votre cher moi (regardez en dessous pour en savoir plus !)

smrman
Scratcher
1000+ posts

Utilisation des bloc nodulo, arrondie, racine carrée ect...

Redswap wrote:

Ce sujet pique ma curiosité. Est-t-il possible de faire de la 3d au moins à peu près exacte mais sans les blocs de trigonométrie, ou alors on ne peu pas remplacer ces blocs avec tous les autres disponibles dans Scratch ?

Non, ce n'est pas possible car la 3D dans Scratch est en fait un effet de perspective.
Ces effets utilisent les angles et les opérations sur ceux-ci pour pouvoir calculer la position à laquelle doit se rendre le stylo pour tracer les arrêtes et les sommets d'un polyèdre.
On ne peut donc pas se passer des sinus, cosinus, tangentes et cotangentes ainsi que des principales formules de trigonométrie :
  • sin²(a)+cos²(a)=1
  • sin(a+b)=sin(a)*cos(b)+cos(a)*sin(b)
  • sin(2*a)=2*sin(a)*cos(a)

Redswap
Scratcher
58 posts

Utilisation des bloc nodulo, arrondie, racine carrée ect...

Et comment on fait pour calculer une racine carrée ‘'à la main’' ?
smrman
Scratcher
1000+ posts

Utilisation des bloc nodulo, arrondie, racine carrée ect...

A la main, ou de tête c'est presque pas possible si c'est pas un carré parfait, ou alors il faut le faire par approximation successives.

Si ton nombre est 4, alors c'est facile puisque 4 est un carré parfait, celui de 2. en effet 2²=4
Si ton nombre est 5, ce n'est pas un carré parfait.

On peut essayer par approximation successive.
On sait que le carré parfait au plus petit que 5 est 4 et celui plus grand est 9.
La racine de 5 sera entre la racine de 4 et la racine de 9.

Donc entre 2 et 3.
On peut essayer avec 2.5.
(2.5)²=6.25 donc trop grand, il faut essayer avec plus petit.
(2.3)²=5.29, toujours trop grand…
(2.2)²=4.84 trop petit cette fois…
(2.25)²=5.0625 trop grand, essayons avec plus petit…
(2.23)²=4.9729 trop petit… faut essayer avec plus grand…
(2.24)²=5.0176 trop grand

La racine de 5 est entre 2.23 et 2.24…
Si on répète ça plusieurs fois, on peut s'approcher de la valeur de la racine de 5, soit 2.2360679775

Last edited by smrman (May 6, 2017 15:30:32)


SBissay
Scratcher
500+ posts

Utilisation des bloc nodulo, arrondie, racine carrée ect...

Sinon il existe des algorithmes pour le faire “à la main”, ça se trouve facilement sur google et/ou dans un livre d'école du début du XXème siècle (ici par exemple).

Generative art :              Pivot  :               Sudoku :

Powered by DjangoBB