Et la trigo alors

Pour les Masochistes Éditeurs de missions
Répondre
Avatar du membre
=[TTK]= Freshmeat
Retraité
Retraité
Messages : 474
Enregistré le : lun. 1 mars 2010, 13:49

Et la trigo alors

Message par =[TTK]= Freshmeat »

Etant une vraie buse en trigonométrie, je sollicite votre bienveillance, votre aide et votre savoir.

Quelqu'un pourrait-il me donner les formules mathématiques et magiques permettant de créer un déclencheur dont on connait la position de deux coins opposés dans la longueur et qui doit faire 1 mètre de large ?

Note : Je n'ai rien contre les buses, j'aime bien les oiseaux : c''est l'expression qui est comme ça, je n'y peux rien.
Modifié en dernier par =[TTK]= Freshmeat le mer. 19 mai 2010, 09:20, modifié 1 fois.
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]
Image

Avatar du membre
=[TTK]= Memphis007
Grand TranKilou
Grand TranKilou
Âge : 43
Messages : 3351
Enregistré le : mer. 13 janv. 2010, 15:29
Humeur : Binaire
Localisation : 127.0.0.1
Contact :

Re: Et la trigo alors

Message par =[TTK]= Memphis007 »

C'est pas que je veux pas t'aider, mais j'ai rien capté :mrgreen:
Si ya pas de shell, ya pas de plaisir...
Image

Fingers in the noise. Maxime verdâtre.

Avatar du membre
=[TTK]= Freshmeat
Retraité
Retraité
Messages : 474
Enregistré le : lun. 1 mars 2010, 13:49

Re: Et la trigo alors

Message par =[TTK]= Freshmeat »

C'est pas grave, je crois que j'ai trouvé un solution à mon problème.
Je vous tiendrai au courrant dans ma prochaine mission.

En plus M. Le_Culto a posté la réponse :
Avec "a" et "b" les marqueurs opposés:

Code : Tout sélectionner

// Largeur du marqueur, en mètres
_largeur = 10;
// Calcul de la longueur du marqueur (Pythagore)
_longueur = sqrt ( ((getmarkerpos "b" select 0) - (getmarkerpos "a" select 0))^2
         + ((getmarkerpos "b" select 1) - (getmarkerpos "a" select 1))^2 );

// Calcul du vecteur AB, qui fait la longueur du rectangle
_vecteur = [ (getmarkerpos "b" select 0) - (getmarkerpos "a" select 0) ];
_vecteur = _vecteur + [ (getmarkerpos "b" select 1) - (getmarkerpos "a" select 1) ];

// Calcul de l'angle du vecteur Ab
_angle1 = (_vecteur select 0) atan2 (_vecteur select 1) + 360;
_angle1 = _angle1 mod 360;

// Calcul de l'angle du vecteur AC (angle de AB + 90°)
_angle2 = _angle1 + 90;
_angle2 = _angle2 mod 360;

// Calcul des coordonnées du point C
_x = (sin _angle2) * _largeur + (getmarkerpos "a" select 0);
_y = (cos _angle2) * _largeur + (getmarkerpos "a" select 1);

// Calcul des coordonnées du centre du rectangle
_centre = [ ( _x + (getmarkerpos "b" select 0) ) /2 ];
_centre = _centre + [ ( _y + (getmarkerpos "b" select 1) ) /2 ];

// On positionne le point C
"c" setmarkerpos [_x,_y];

// On positionne le rectangle au centre
"d" setmarkerpos _centre;
// On oriente correctement le rectangle
"d" setmarkerdir _angle1;
// On donne les bonnes dimensions au rectangle
"d" setmarkersize [_largeur/2, _longueur/2];
Et le sujet complet ici
Les gens n'accordent guère d'importance à la vie, la preuve : quand ils la perdent, ils ne la réclament jamais.
[Jean Deluca]
Image

Répondre