CoursInformatiqueSketchup

cours sketchup : Scripts Sketchup – nombres et opérateurs numériques

Dans ce cours Sketchup, nous rentrons dans le vif de Ruby pour Sketchup, en lisant le livre de Mattew Scarpino auquel nous nous référons, à savoir Automatic Sketchup – Creation 3D model in Sketchup, plusieurs précieuses informations méritent d’être partagées. Nous commençons l’étude du langage de script Sketchup à partir de la structure de données, dans ce cas, nous voyons des nombres et des opérateurs numériques.

SketchUp Ruby Code Editor – by [as]
cours sketchup gratuit

cours sketchup / Table des matières

  • Nombres entiers et à virgule flottante
  • Opérateurs arithmétiques
  • Ordre des opérations
  • Conversions numériques dans Sketchup
  • Avez-vous essayé de tester des nombres et des opérateurs dans Sketchup ?

Lors de la création de modèles SketchUp dans Ruby, l’une des tâches les plus courantes consiste à définir des points qui délimitent des lignes et des surfaces. Chaque point est composé de trois coordonnées numériques, il est donc crucial de comprendre comment Ruby gère la partie numérique.

Ce cours sketchup illustre les formats de nombre, les opérateurs et l’ordre des opérations.

Nombres entiers et à virgule flottante


Dans ce cours sketchup, nous traiterons deux types de nombres : les entiers et les valeurs à virgule flottante. Un entier appartient à l’ensemble des nombres naturels, un entier n’a pas de point décimal.

Le signe “+” devant le nombre indique une valeur positive et un “-” indique une valeur négative. Si aucun signe n’est donné, la valeur est supposée positive.

Tout comme les grands nombres sont normalement subdivisés avec des diviseurs appropriés, Ruby vous permet de séparer les grands nombres avec des traits de soulignement. Par exemple, le nombre 1 000 000 peut être exprimé sous la forme 1000 000 ou 1_000_000.

Pour vérifier cela, essayez ceci, ouvrez la console – menu fenêtre – entrez ce qui suit dans la ligne de commande :

5_000 / 4

Le résultat est 1250, comme si vous aviez entré 5000/4.

Le terme nombre à virgule flottante indique la méthode d’approximation des nombres réels et le traitement des données utilisé par les processeurs pour effectuer des opérations mathématiques

Les nombres à virgule flottante ont des décimales, divisées par le séparateur approprié. Le séparateur décimal divise la partie décimale de la partie entière.

En Ruby, chaque nombre à virgule flottante doit contenir au moins un chiffre avant et après la virgule décimale. C’est-à-dire que vous pouvez exprimer 1/2 sous la forme “0,5” ou “0,500”, mais jamais sous la forme “.5”.

Une valeur à virgule flottante peut être précédée de + ou – et peut être suivie de “et” pour définir un exposant. Les nombres à virgule flottante suivants sont valides : -25.4, 1.4959e11, 123_456.789_012 et 3.14159.

Ruby fournit d’autres types numériques, notamment des nombres complexes et des nombres rationnels. Mais pour les besoins de notre utilisation, c’est-à-dire pour créer des scripts fonctionnels pour notre travail, vous n’aurez besoin que d’entiers et de valeurs à virgule flottante.

Opérateurs arithmétiques


Ruby reconnaît tous les opérateurs arithmétiques courants utilisés en C et dans d’autres langages de programmation : +, -, * et /. Ceux-ci sont répertoriés dans le tableau 1 ci-dessous avec les opérateurs modulo et exposant.

OpérateurOpérationrésultatvirgule flottante
+une addition4 + 5 = 94.0 + 5.0 = 9.0
une soustraction12 – 4 = 812.0 – 4.0 = 8.0
*une multiplication7 * 3 = 217.0 * 3.0 = 21.0
/une division20 / 8 = 220.0 / 8.0 = 2.5
%Modulation20 % 8 = 420.0 % 8.8 = 4.0
**Exponentiel3 ** 2 = 93.0 ** 2.0 = 9.0
cours sketchup

Il est important de voir comment le type de résultat (entier ou virgule flottante) est déterminé par les entrées numériques, c’est-à-dire par les opérandes. Si un entier est soustrait d’un autre, le résultat sera toujours un entier et il en va de même pour l’addition, la soustraction et la division.

Si un opérande est un entier et l’autre une valeur à virgule flottante, le résultat sera toujours une valeur à virgule flottante. Ceci est démontré dans les exemples suivants :

90 – 82 renvoie 8

90,0 – 82 renvoie 8,0

3 * 4 renvoie 12

3 * 4.0 renvoie 12.0

4/3 renvoie 1

4 / 3.0 renvoie 1.333333333333333

3/4 renvoie 0

3 / 4,0 renvoie 0,75

Les quatre dernières de ces expressions utilisent l’opérateur de division et au début, les résultats peuvent ne pas être évidents. Si l’un des opérandes est à virgule flottante, le résultat est le quotient à virgule flottante normal. Mais si les deux opérandes sont des entiers, comme pour les divisions vues dans l’exemple, le reste est ignoré et seul le résultat entier est renvoyé.

Pour obtenir le reste de la division entière, le cinquième opérateur du tableau est requis : l’opérateur modulo ou “%”. La meilleure façon de comprendre cela est par l’exemple.

Si 17 est divisé par 5, le résultat est 3 avec un reste de 2. En Ruby, cela signifie 17/5 = 3 et 17% 5 = 2. Si a divise également en b, le résultat de b% a sera toujours zéro.

Par conséquent, les expressions suivantes devraient avoir un sens :

8/16 renvoie 2
16 / 8.0 renvoie 2.0
16% 8 renvoie 

Le dernier opérateur du tableau, **, effectue l’exponentiation, et a ** b est la même opération que a ^ b. Le deuxième opérande est l’exposant et définit combien de fois le premier opérande doit être multiplié par lui-même. Par exemple, 2 ** 3 renvoie 8 car 2 ^ 3 est égal à 8.

L’exposant ne doit pas être un entier et vous pouvez calculer les racines carrées en le fixant à 1/2 et les racines du cube en fixant l’exposant à 1/3. De même, si l’exposant est négatif, le résultat est l’inverse multiplicatif (1 / x) de l’opération avec un exposant positif. Par exemple, 2,0 ** -3 = 1 / (2,0 ** 3) = 1/8.

Les exemples suivants montrent des utilisations supplémentaires de l’opérateur ** :

4 ** 2 renvoie 16
4 ** -2 renvoie 0,0625
4 ** 0,5 renvoie 2,0
4 ** 0 renvoie 1
4 ** (1/2) renvoie 1 (l'exposant renvoie)

Opérer sur des valeurs numériques est une activité cruciale dans de nombreux projets SketchUp. Lorsque vous écrivez votre code, gardez à l’esprit que les opérations sur les entiers ne renvoient généralement que des entiers.

Pour obtenir un résultat en virgule flottante, l’un des opérandes doit être en virgule flottante.

Ordre des opérations
Si une commande Ruby contient plusieurs opérateurs numériques, les opérations ne sont pas nécessairement effectuées de gauche à droite.

Les règles suivantes doivent être appliquées dans l’ordre :

Effectuez toutes les opérations entre parenthèses de gauche à droite, sur les exposants de gauche à droite, de multiplication et de division de gauche à droite.
Effectuez toutes les opérations d’addition et de soustraction de gauche à droite.
Par exemple, regardez la commande suivante :

1 + 3 * (6 – 4) ** 3 / (1 + 3)

Ruby va d’abord calculer les opérations entre parenthèses : (6 – 4 = 2) et (1 + 3 = 4). Par la suite, il effectuera l’exponentiation (2 ^ 3 = 8) et l’équation devient :

1 + 3 * 8/4

Enfin, Ruby effectue la multiplication (3 * 8 = 24) et la division (24/4 = 6). La réponse finale est calculée comme 1 + 6 = 7.

cours sketchup / Conversions numériques dans Sketchup


Avant de quitter le sujet des nombres, il est important de mentionner les opérateurs fournis par SketchUp en plus de ceux décrits ci-dessus. Ceux-ci sont répertoriés dans le tableau 2 ci-dessous.

operatorFunctionExample
cmConvert centimeters to inches2.54.cm = 1
degreesConvert degrees to radians180.degrees = 3.14159265358979
feetConvert feet to inches1.feet = 12.0
inchConvert inches to length 
kmConvert kilometers to inches1.km = 39370.0787401575
mConvert meters to inches1.m = 39.3700787401575
mileConvert miles to inches1.mile = 63360.0
mmConvert millimeters to inches1.mm = 0.0393700787401575
radiansConvert radians to degrees3.14159265358979.radians = 180
to_cmConvert inches to centimeters0.393700787401575.to_cm = 1
to_feetConvert inches to feet12.to_feet = 1.0
to_inchConvert length to inches 
to_kmConvert inches to kilometers39370.0787401575.to_km = 1
to_lConvert inches to length 
to_mConvert inches to meters39.3700787401575.to_m = 1
to_mileConvert inches to miles63360.to_mile = 1.0
to_mmConvert inches to millimeters0.0393700787401575.to_mm = 1
to_yardConvert inches to yards36.to_yard = 1.0
yardConvert yards to inches1.yard = 36.0
cours sketchup

En interne, SketchUp stocke les valeurs de longueur en pouces, même si vous choisissez un modèle basé sur le système métrique.

Pour cette raison, la plupart des utilitaires de conversion du tableau 2 convertissent en pouces ou en pouces. Ces opérateurs diffèrent de ceux du tableau 1 en ce qu’ils sont accessibles en plaçant un point (.) après le numéro.

La troisième colonne montre comment ces opérateurs sont utilisés dans la pratique.

Par exemple, la commande suivante convertit une longueur de 72 pouces en mètres : 72.to_m

Le résultat est 1,8288 car 1,8288 mètres est la même longueur de 72 pouces.

Toutes les routines SketchUp traitant des angles nécessitent que les valeurs angulaires soient fournies en radians, et non en degrés. Mais comme il est plus facile de manipuler des nombres entiers, il est préférable de commencer par des degrés et de convertir l’angle en radians.

Par exemple, pour convertir 30 ° en radians, utilisez la commande suivante :

30 degrés

Cela peut prêter à confusion car nous convertissons à partir de degrés plutôt que de degrés. Cependant, les mesures angulaires seront fréquemment utilisées et, au final, l’utilisation de l’opérateur degrés deviendra naturelle.

cours sketchp : recommandations

Avez-vous essayé de tester des nombres et des opérateurs dans Sketchup ?
Faites-nous savoir si vous avez déjà testé du code dans SketchUp. Avez-vous suivi un chemin différent pour apprendre?

Nous pensons que le guide de Ruby sur html.it est bien élaoré. Il est utile de les suivre pour un premier essai.

Autres articles

Guide : Implémenter get_iemedans des fichiers avec...
La fonction get_iemepermet de récupérer le i-ème élément d'un fichier...
Read more
Guide : Implémenter un Fichier en Tableau...
Les fichiers en tableaux circulaires (ou files d'attente circulaires )...
Read more
Guide : Fichiers en Tableaux Circulaires en...
Les tableaux circulaires (ou buffers circulaires) sont des structures de...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *