Marques d'un segment.

Voir le sujet précédent Voir le sujet suivant Aller en bas

Marques d'un segment.

Message  F.Couvreur le Lun 15 Déc - 21:10

Bonsoir Patrick,
Est-il possible d'avoir toutes les marques des segments penchées dans le même sens ?
De plus, y-a-t-il un moyen de transformer un rectangle avec ses marques pour éviter de répéter la commande markseg() comme je l'ai fait ?

Code:
[Fenetre(-4+8*i,4-2*i,1+1*i),A:=[0+0*i],B:=[3+0*i],C:=[3+3*i],D:=[0+3*i],
Width:=8,Drectangle(A,B,C),
Drectangle(sym(rect(A,B,C),D,C)),Drectangle(sym(rect(A,B,C),D,A)),
Drectangle(hom(rect(A,B,C),D,-1)),markseg(A,B,2,0.1,0.3),markseg(C,B,2,0.1,0.3),
markseg(C,D,2,0.1,0.3),markseg(A,D,2,0.1,0.3),markseg(C,3+6*i,2,0.1,0.3),
markseg(3+6*i,6*i,2,0.1,0.3),markseg(6*i,-3+6*i,2,0.1,0.3),
markseg(-3+6*i,-3+3*i,2,0.1,0.3),markseg(-3,0,2,0.1,0.3),
markseg(-3+3*i,-3,2,0.1,0.3), markseg(-3+3*i,3*i,2,0.1,0.3),
angleD(A,D,C,0.25),
Label(0-0.3*i,"A",3-0.3*i,"B",3.3+3*i,"C",-0.3+2.7*i,"D",3+6.3*i,"E",
0+6.3*i,"F",-3+6.3*i,"G",-3.3+3*i,"H",-3-0.3*i,"K")] 
Merci pour ton aide.

F.Couvreur

Nombre de messages : 137
Age : 53
Date d'inscription : 10/02/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Marques d'un segment.

Message  P.Fradin le Lun 15 Déc - 23:10

Bonsoir Fabrice,

Je te propose une boucle pour faire les 4 carrés, on en réalité on en dessine qu'un:

Code:

[Fenetre(-4+8*i,4-2*i,1+1*i),A:=[0+0*i],B:=[3+0*i],C:=[3+3*i],D:=[0+3*i],
 Width:=8,
 for V in [0, C-B, 2*(C-B), A-B, D-B, 2*D-A-B] do {vecteurs translations pour [AB]}
 L:=shift([A,B],V), Ligne(L,1),  markseg(L[1],L[2],2,0.1,0.3),
 od,
 for V in [0, C-B, A-B, A+C-2*B, 2*A-2*B, 2*A+C-3*B] do {vecteurs translations pour [BC]}
  L:=shift([B,C],V), Ligne(L,1), Ligne(sym( Get(markseg(L[1],L[2],2,0.1,0.3)), [L[1],L[2]]) ,0),
 od,
 angleD(A,D,C,0.25),
 Label(0-0.3*i,"A",3-0.3*i,"B",3.3+3*i,"C",-0.3+2.7*i,"D",3+6.3*i,"E",
 0+6.3*i,"F",-3+6.3*i,"G",-3.3+3*i,"H",-3-0.3*i,"K")] 

On définit une liste de 6 vecteurs de translations pour le segment [A,B], puis pour vecteur V dans la liste on translate le segment [A,B] et on le dessine avec les marques.
On refait ensuite le même principe pour le ssegment [B,C], il y a un petit problème technique pour que les marques soient dans le même sens, il faut leur faire subir une symétrie par rapport au segment, pour cela on récupère les points des marques (avec Get) on leur faire subir la symetrie (macro sym) et on dessine le résultat.

on obtient:

PS: peut être serait-il bon d'ajouter à la macro markseg un paramètre optionnel pour forcer l'inclinaison souhaitée.

_________________
P.Fradin

P.Fradin
Admin

Nombre de messages : 1133
Age : 55
Date d'inscription : 19/01/2008

Voir le profil de l'utilisateur http://texgraph.tuxfamily.org/

Revenir en haut Aller en bas

Re: Marques d'un segment.

Message  F.Couvreur le Mar 16 Déc - 17:58

Bonjour Patrick,
Le temps me manque !!!
Il est évident que ce code est plus propre ; en fait, je ne pense pas assez à faire des boucles, même si je crois savoir les faire.
PS: peut être serait-il bon d'ajouter à la macro markseg un paramètre optionnel pour forcer l'inclinaison souhaitée.
Je crois que ce serait une bonne idée.
@+ (Les vacances vont me permettre d'écrire quelques codes : notamment pour créer des pavages pour le cours sur les vecteurs . Very Happy)

F.Couvreur

Nombre de messages : 137
Age : 53
Date d'inscription : 10/02/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Marques d'un segment.

Message  Contenu sponsorisé Aujourd'hui à 11:52


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum