Page 1 sur 1

Quadrillage triangulaire

MessagePublié: 21 Mars 2021 22:31
par Eric
Bonsoir Patrick

Existe-t-il une commande pour tracer automatiquement un quadrillage à base de triangles équilatéraux ?

Re: Quadrillage triangulaire

MessagePublié: 21 Mars 2021 23:10
par P.Fradin
Bonsoir Eric,

Pas de commande toute faite. On peut s'en sortir avec des boucles for en traçant des droites.
Que souhaites-tu exactement ?

Re: Quadrillage triangulaire

MessagePublié: 21 Mars 2021 23:46
par Eric
Je souhaite tracer un quadrillage triangulaire sur lequel j'ajouterai une figure à figure pour un exercice du type appliquer une rotation d'angle 60 ou 120 degrés ...

Re: Quadrillage triangulaire

MessagePublié: 22 Mars 2021 14:05
par P.Fradin
Voici le code d'une macro, appelons la quad_triangle(), prenant un paramètre: la longueur du côté des triangles :
Code: Tout sélectionner
[//quad_triangle( long)
$d:=%1, //longueur d'un coté
$k:=0, //horizontales
$cf := sqrt(3)/2 , $ell := d*cf, $icf:=sqrt(3), $ell':=d*icf,
$y:=0,
while y<=Ymax do
      Droite(i*y, i*y+1),
      Inc(y,ell)
od,
$y:=-ell, ///horizontales
while y>=Ymin do
      Droite(i*y, i*y+1),
      Inc(y,-ell)
od,
//obliques  1
$u := Ymin+icf*Xmin,
$v := Ymax+icf*Xmax,
a :=u,
a := 0,
while a<=v do
      Droite(i*a,i*(a-icf)+1),
      Inc(a,ell')
od,
a := -ell',
while a>=u do
      Droite(i*a,i*(a-icf)+1),
      Inc(a,-ell')
od,
//obliques  2
$u := -Ymax+icf*Xmin,
$v := -Ymin+icf*Xmax,
a :=0,
while a>=u do
      Droite(i*a,i*(a+icf)+1),
      Inc(a,-ell')
od,
a :=ell',
while a<=v do
      Droite(i*a,i*(a+icf)+1),
      Inc(a,ell')
od]


Exemple d'utilisation :
Code: Tout sélectionner
[//command
Margin(0,0,0,0), size(8),
quad_triangle(1)



quadrillage_triangles.png
quadrillage_triangles.png (18.14 Kio) Consulté 20239 fois

Re: Quadrillage triangulaire

MessagePublié: 22 Mars 2021 18:33
par Eric
Je te remercie. Je vais essayer de m'en servir (sous peu).

Re: Quadrillage triangulaire

MessagePublié: 20 Août 2021 21:39
par Eric
Juste un petit mot pour te dire que j'ai pu m'en servir pour produire ce que je souhaitais.