Bonjour !
Je travaille sur un logiciel qui permet d'importer des fichiers au format DXF afin de les afficher en 2D; j'aimerais importer les objets de type Ellipse qui possèdent les informations suivantes :
- Coordonnées du point central
- Coordonnée du point de fin de l'axe majeur
- Le "Ratio of minor axis to major axis" (je ne sais pas si c'est majeur/mineur ou inversement)
- L'angle de départ
- L'angle d'arrivée
Avec ces informations, je dois être capable de trouver une succession de points qui, une fois reliés ensemble, forme une ellipse !
(En effet, le soft est conçu de manière à ne traiter des objets qui se sont que des succession de points)
Je travaille avec Qt, mais ici, le soucis est plutôt mathématique; j'ai une base d'algo mais qui ne dessine les ellipse que de façon horizontale et qui a la base est fait pour des cercles.
Le code :
J'éspère que vous pourrez m'aider !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 double distanceDemiMajorAxis = sqrt(pow(ellipse.mx - ellipse.cx, 2) + pow(ellipse.my - ellipse.cy, 2)); double step = 2*M_PI/100; double h = ellipse.cx; // Coordonnée x du centre double k = ellipse.cy; // Coordonnée y du centre double r = distanceDemiMajorAxis; // Ce paramètre a surement une valeur fausse, mais je ne savait pas trop quoi mettre pour simuler le 'rayon" d'une ellipse, vu qu'elle n'en possède pas for(double theta = 0; theta < 2*M_PI; theta+=step) { double x = h + r * cos(theta); double y = k - 0.5 * r * sin(theta); ajoutDeCoordonneeDansUnISceneObject(&obj, x, y); }
Partager