Archives de l’auteur : Hervé Mazelin

Création d’un cercle point par point sur Processing

.

Sommaire : 

.

A suivre cet article est mis à jour régulièrement

.

Rappel de l’utilisation de quelques fonctions de Processing.

.

width :

Variable système qui stocke la largeur de la fenêtre d’affichage. Cette valeur est définie par le premier paramètre de la fonction size () . Par exemple, la fonction  size (320, 240) définit la variable width sur la valeur 320. La valeur par défaut de width est 100 si la taille () n’est pas utilisée dans un programme.

height

:Variable système qui stocke la hauteur de la fenêtre d’affichage. Cette valeur est définie par le deuxième paramètre de la fonction size () . Par exemple, la fonction  size  (320, 240) définit la variable height sur 240. La valeur par défaut de height est 100 si la taille () n’est pas utilisée dans un programme.

vertex :

Toutes les formes sont construites en connectant une série de sommets. vertex () est utilisé pour spécifier les coordonnées de sommet pour les points, les lignes, les triangles, les quads et les polygones. Il est utilisé exclusivement dans les fonctions beginShape () et endShape () .

Pour dessiner un sommet en 3D à l’aide du paramètre z , vous devez associer le paramètre P3D à la taille, comme illustré dans l’exemple ci-dessous.

.

random()

Génère des nombres aléatoires. Chaque fois que la fonction random () est appelée, elle renvoie une valeur inattendue dans la plage spécifiée. Si un seul paramètre est passé à la fonction, il retournera un float compris entre zéro et la valeur du paramètre haut . Par exemple, random (5) renvoie des valeurs comprises entre 0 et 5 (commençant à zéro et pouvant aller jusqu’à 5).

Si deux paramètres sont spécifiés, la fonction renvoie un float avec une valeur comprise entre les deux valeurs. Par exemple, random (-5, 10.2) renvoie des valeurs allant de -5 à 10.2 maximum (sans l’inclure). Pour convertir un nombre aléatoire à virgule flottante en entier, utilisez la fonction int () .

Syntax : 

  • random ( limite supérieure )
  • random ( limite inferieure , limite supérieure )

.

Retour au sommaire

.

Etape 3.1 traçage d’un cercle point par point

A savoir :  processing travaille en radians par defaut

.

Le but de ce programme est de pouvoir dessiner un cercle non pas avec la commande circle() , mais en utilisant la commande vertex pour pouvoir tracer la circonférence du cercle point par point .

Le but est bien sûr de pouvoir utiliser ce code pour la mise en application d’un laser rotatif afin de retracer sur un écran l’ensemble des obstacles qui l’entourent. On pourra évidemment utiliser ce code aussi bien pour une rotation complète soit 360° ou bien des angles personnalisés du type 180° .

Le rayon du cercle est défini à la ligne 75 , vous pouvez donner comme valeur numérique à rayon la valeur qui vous convient.

Le calcul des coordonnées en X et Y se définisse en ligne 79 et  80

 

 

 

 

 

.

Retour au sommaire

.

Etape 3.2 Création d’une variable modifiant les valeurs de rayon.

.

Le but à atteindre dans cette étape est de tracer un cercle point par point et chaque point possédant un rayon différent. Pour cela nous utilisons un générateur de nombres aléatoires qui sera paramétré de la façon suivante , rayon mini 100, rayon maxi 160. La valeur aléatoire s’ajoutera à un rayon fixe que l’on s’est donné. Le résultat de ce calcul étant la figure à 360  degrés située ci-dessous.

Bien évidemment , pour l’application sur le laser nous supprimons le générateur de nombres aléatoires par la mesure prise par le laser remis à l’échelle pour dessiner les obstacles se situant dans le rayon du laser.

 

.

 

.

Retour au sommaire

.

Etape 3.3 Création d’un cercle point par point avec déplacement .

Les modifications suivante :

  • Déclaration de la variable pour simuler le déplacement du laser en X .Variable Xdepla
  • Incrémentation de la variable Xdepla. Xdepla ++
  • Création d’une ligne de code pour effectuer ou simuler le déplacement d’un éventuel robot mobile . ( voir ci-dessous )
  • L’ensemble du code pour la création du cercle migre dans la fonction void draw

.

Vous pouvez copier le programme en  sélectionnant l’ensemble puis contrôle C ou suivez les informations dans la barre supérieure du code 

.

Retour au sommaire

.

Pour tout problème 

Pour tout problème de téléchargement ou pour nous suivre sur les réseaux sociaux voici les plateformes  sur lesquelles nous éditons.
Cliquez sur celles qui vous intéressent .

Facebook  Twitter  Youtube 

.

Retour au sommaire

 

 

Plate-forme mobile Uranurse – Je veux tout savoir

.

Mise à jour le 14/10/2019 : Plate-forme mobile Plate-forme mobile Uranurse. Il nous fallait une plate-forme mobile pour notre Cobot Oryon qui se devait être extrêmement mobile et qui puisse manœuvrer dans un espace restreint. Dans la version de base , elle était prévue avec des roues et fonctionner sous le principe d’un engin chenillé. Nous avons voulu la faire évoluer sur quelque chose de plus mobile d’où l’utilisation de roue Mécanum.

.

 

 

 

 

 

 

 

.

Sommaire :

  • Présentation et Objectif 
  • Etude de la plate-forme mobile Uranurse pour la période du 02/06/2019 au 14/10/2019
    • 31/08/2019 : Etude du chassis mobile  
    • En cours de réalisation 
  • Retour au menu principal 

 

 

 

 

Le module de base Grove pour Arduino Uno et compatible

.

Mise à jour le 13/10/2019 : La carte d’extension Base Shield v2 103030000 est dotée de nombreux connecteurs Grove qui en fait un ustensile pratique pour combiner différents produits Grove. Elle est de plus compatible à toute une série de produits Arduino.

La carte d'extension Base Shield v2 103030000

La carte d’extension Base Shield v2 103030000

.

Sommaire : 

 

.

Retour au sommaire

.

Continuer la lecture

Impression 3D : retour d’expérience

.

Mise à jour le 18/09/2019 : Nous avons voulu créer une nouvelle rubrique s’intitulant « retour d’expérience sur l’impression 3D ». Pourquoi ? Nous avons été confrontés à tellement de problèmes techniques dus aux imprimantes, aux filaments, aux réglages, qui nous semblaient judicieux de partager nos déboires, nos réussites, et nos solutions.

Continuer la lecture