Bonjour à tous,
J'ai un petit souci avec un projet informatique.
Pour mon boulot, je suis informaticien et malgré que j'étais pas trop mauvais en math, la trigonométrie j'ai du mal, alors après plus de 30 ans c'est bien loin.
Dans un cercle je souhaite placer un triangle isocèle.
Je connais les coordonnées de mon cercle, le diamètre donc je sais où se trouve mon centre. Je connais les coordonnées de l'une de pointe du triangle, car je souhaite qu'elle soit en bas du cercle, donc même coordonnées X que le centre et Y est de placer au point (Y du centre plus le rayon).
Pour information en informatique le point 0;0 est placé en haut à gauche.
Je souhaite avoir donc un côté du triangle en haut du cercle qui soit horizontal.
Il faut donc que je trouve les coordonnées mathématiques des 2 points de cette droite horizontale afin de faire un triangle isocèle.
J'ai placé les points manuellement, cela me donne (fichier joint):
Merci a vous
salut
si tu connais les coordonnées du centre C(a, b) du cercle et du sommet S(x, y) en bas alors rien de plus facile :
les deux sommets sont les images de S par la rotation de centre C et d'angle pi/3 et -pi/3
en complexe si w = a + ib et z = x + iy
alors l'affixe de tes points sont où t prend les valeurs pi/3et -pi/3
Salut,
Soit les coordonnées du centre du cercle et le rayon de celui-ci.
Le point situé en bas sera aux coordonnées comme tu l'as dis plus haut.
Les deux autres points doivent être à une distance du centre, être symétriques par rapport à l'axe et avoir la même ordonnée (plus petite que ).
On obtient les points .
En particulier si on veut que le triangle soit équilatéral, alors puisque l'angle au sommet entre l'horizontale et la direction du centre est de 30°, .
Ce qui simplifie les deux points en
oui bien sur 2pi/3 ou -2pi/3 ...
tu as raison c'est parce que j'ai pensé triangle équilatéral que je me suis mélangé les pinceaux pour l'angle de la rotation ...
les complexes sont le plus simples dans l'écriture et même dans le calcul "formel" ...
il est aisé ici avec cette valeur particulière de revenir à des calculs numériques aisés sur les coordonnées
Bonjour a vous tous,
Je vous remercie, pour vos réponses, j'ai vais regarder cela attentivement. Je suis en formation cette après midi et demain, au pire des cas je vous répond lundi, ou si j'ai le temps lors d'une autre petite pause.
Merci encore
Bonjour,
Avec des noms pour les points, c'est plus facile d'aider.
Je propose E , M et N les sommets du triangle ( E en bas et M et N en haut) et aussi C le centre du cercle.
Et enfin H le milieu du segment [MN] , qui est aussi le projeté orthogonal du point C sur [MN] .
Si j'ai bien compris, les coordonnées de C sont (R,R) où R est le rayon du cercle.
Si le triangle est équilatéral, alors HC = R/2 .
Les ordonnées des points M et N sont donc R/2 .
Merci à tous pour m'avoir aider,
C'est bien un triangle équilatéral, je me suis trompé dans l'énoncé, comme quoi, moi et la trigo ... des vieux souvenirs qui n'étaient déjà pas bien encrés dans ma tête à l'époque.
Je suis vraiment désolé pour les personnes qui ont tenté de m'aidé avec les complexes, mais en programmation , en tout cas dans le langage que j'utilise, par défaut il ne gère pas les complexe, il faut que je rajoute des éléments de calcul, bon j'ai vu qu'il y a des classe toute faite pour cela et je ne dit pas que je ne vais pas le tester, juste pour me remettre aussi dans les complexes, mais du coup j'ai testé rapidement la formule que m'a proposé LittleFox, et cela fonctionne parfaitement.
Donc un grand merci à tous, le problème est résolu pour moi.
Bon week-end
Je vous donne mon résultat quand même:
Les couleurs sont changeable bien-sur, c'est juste pour bien voir les objets:
Le but étant donc de créer un objet graphique, notamment ce que l'on appel le DateTimePicker, avec l'affichage de la date et/ou l'heure. L'environnement de développement ne permet pas de donner des courbes à l'objet graphique (en Windows.Form). et le rond et triangle me sert donc de bouton pour ouvrir le calendrier pour choisir la date, point sur lequel je bloque encore pour le moment.
Contrairement à ce que je pensais au début, le logiciel est plus plus rapide à créer les dessin qu'à afficher une image (aussi petite que le triangle) de 1 ou 2 ko. Car j'ai plusieurs objet similaire.
De plus cela me permet de dimensionner comme je le souhaite sans me soucier du rendu que j'aurais eue avec la résolution des images.
2 images donc, l'une est dans la dimension que je vais utiliser (env), la 2éme est agrandi tout se met en place automatiquement, le texte lui aussi est paramétrables en tailles...
J'ai fait express de ne pas suivre le rayon du cercle je l'ai réduit de quelques pourcent ici 4%.
Heureux que ça t'ai été utile
La méthode des complexes est de fait plus élégante mais demande une ou deux étapes de plus pour avoir les coordonnées (, )).
Il ne faut pas essayer d'utiliser les complexes tels quels en programmation (sauf dans certains langages comme python qui les gère parfaitement).
Pour ce qui est des images c'est bizarre que ce soit si lent. Une astuce est d'avoir une seule grande image rassemblant toutes les images (un seul chargement d'image) et d'afficher seulement la partie de l'image dont tu as besoin pour chaque bouton.
Mais tu pers la possibilité de mise à l'échelle. A moins d'utiliser du dessin vectoriel. C# ne gère pas le SVG nativement mais il existe des frameworks qui le permettent
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :