Bonjour à tous, ça faisait longtemps que je n'était pas passé ici ^^
Bon bref, j'ai un petit soucis... J'ai un petit algo à réaliser pour le club info de mon lycée pendant les vacs, mais je suis... Vraiment bloqué %)
Regarder le triangle... En dessous %)
Je doit réaliser la condition suivante :
Si le segment c vaut 4 (par exemple) alors le segment a doit valoir ceci, pour que l'angle ab vaut 60° et bc 30°
Bon c'est vachement galère, de plus il faut faire une boucle pour toujours vérifier que la condition soit vrai...
Je n'ai le droit qu'aux fonctions standard C de la lib math.h et je préfèrerais utiliser cos(), sin(), tan() et sqrt() [=>racine] sans oublié asin(), acos(), atan() et pi()
Si vous pouviez me mettre sur la piste ^^
Merci
Bonjour,
Que peux-tu dire de ce triangle très particulier... ?
(imagine une symétrie par rapport au côté de longueur c )
Ce triangle est rectangle... et si je fait une symétrie axiale avec le côté c, j'obtiens un triangle équilatéral... Ces trois angles font 60° ça ne m'avance pas tellement...
Mais si ! Ces trois côté sont donc égaux, je devrais donc divisé un côté par deux... Mais... Comment je vais faire pour créer la symétrie virtuelle dans mon application :S
Bon, tu as vu ce qu'il fallait voir.
Oui, ce triangle est un demi-triangle équilatéral.
Etudions un peu le triangle équilatéral...
Soit b le côté de ce triangle
Evidemment a = b/2
(et donc, si on connaît a, il est évident que b = 2a)
Que vaut c, la hauteur du triangle équilatéral ?
Euh, je peux utiliser le théorème de Pythagore:
J'aurais donc l'égalité suivante :
b2 = a2 + c2
b2 - a2 = c2
c = (b2 - a2)
C'est bien ça ?
C'est cela, mais ce n'est pas fini.
Il y a une relation entre b et a
a = b/2
Remplace a par cette valeur et simplifie pour obtenir la valeur de c en fonction de b
Voilà j'ai mit à jour mon profil, mais... Si tu pouvais ne serais ce que me donner un tout petit petit rikiki indice :'(
Je n'étais pas là cet après-midi.
Comme je te l'indiquais à 11 h 48 :
et
Donc... exprime c en fonction de b en remplaçant a par sa valeur dans l'égalité [1]
c 1,75 a est une valeur très approximative et qu'il ne faut pas que tu utilises.
Il serait bon que tu simplifies cette expression :
Je suis très étonné que vous ne sachiez pas par cœur aujourd'hui quelle est la valeur de la hauteur d'un triangle équilatéral en fonction de la longueur du côté... Que de temps perdu à redémontrer cette valeur !
Oui, c'est juste ; il reste à simplifier !
Que vaut b2 ?
Que vaut 4 ?
et donc que vaut (b2/4) ?
et donc que vaut (3b2/4) ?
Non parce que 4 = 2
et qu'il faut laisser 3 sans y toucher ; on ne peut pas le simplifier.
Corrige le résultat...
En effet, la hauteur d'un triangle équilatéral de côté b vaut h :
Il était une fois... une époque où tous les lycéens connaissaient ce résultat par cœur ce qui évitait bien des pertes de temps... enfin en 6 jours on y arrive !
Est ma faute, faut allez voir l'éducation nationale ! Tu m'accompagnes ;P
Bref, c'est loin d'être fini... J'ai encore pleins d'algorithme à faire pour mon programme...
Sur ce merci, à bientôt
Je sais bien que tu n'es pas responsable des programmes. Mais dans ce cas précis un élève de quatrième qui connaît le théorème de Pythagore sait trouver la réponse.
_____________
Peux-tu poster l'algorithme maintenant ?
Un algorithme tout à fait élémentaire avec Algobox
Mais je ne connais probablement pas toutes les contraintes de ce programme car tu n'as pas vraiment posté un énoncé.
1 VARIABLES
2 c EST_DU_TYPE NOMBRE
3 b EST_DU_TYPE NOMBRE
4 a EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 LIRE c
7 b PREND_LA_VALEUR 2*c/sqrt(3)
8 a PREND_LA_VALEUR b/2
9 AFFICHER "a = "
10 AFFICHER a
11 AFFICHER "b = "
12 AFFICHER b
13 FIN_ALGORITHME
Moi j'ai ça :
#define MACRO__HAUTEUR_LOSANGE_ISOMETRIQUE 20
#define MACRO__LARGEUR_LOSANGE_ISOMETRIQUE (sqrt(3) / 2) * (2 * MACRO__HAUTEUR_LOSANGE_ISOMETRIQUE)
Interface::Interface(QWidget *parent) : QWidget(parent)
{
this->setWindowTitle("Grama - Version 0.1.1");
this->setWindowIcon(QIcon("icone.png"));
this->setWindowOpacity(1);
this->resize(850, 500);
QGraphicsScene *scene = new QGraphicsScene();
QPointF aza(10, 10);//Point en haut à gauche
QPointF ozo(100, 100);//Point en bas à gauche
while(aza != ozo)
{
if((aza.y()) > (ozo.y()))
{
aza.setY((aza.y()) - MACRO__HAUTEUR_LOSANGE_ISOMETRIQUE);
}
else
{
aza.setY(10);
aza.setX((aza.x()) + MACRO__LARGEUR_LOSANGE_ISOMETRIQUE);
}
}
QGraphicsView *vue = new QGraphicsView(scene, this);
vue->resize(850, 500);
vue->move(((this->width()) / 2) - ((vue->width()) / 2), ((this->height()) / 2) - ((vue->height()) / 2));
}
Mais je n'affiche pas les triangles, car ça bug encore dans la boucle...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :