Bonjour à tous,
Mon problème est le suivant : J'essaie d'afficher une sorte de faisceau lumineux sous X11. Je dessine donc un arc de cercle centré sur le point où je viens de cliquer puis j'affiche les traits qui bordent le faisceau : ceux qui partent du centre et qui rejoignent le bord de l'arc. je vous ai dessiné un exemple dans le fichier joint (le point P est l'endroit où j'ai cliqué et les points A et B sont les intersections des traits et de l'arc).
Pour l'affichage, je connais les fonctions en X11. Cependant, pour les coordonnées des deux points reliant les traits et l'arc c'est une autre histoire… je n'arrive pas à trouver de formule !
Voici le bout de code que j'ai fait :
Que devrais-je rentrer pour les coordonnées des points A et B ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void draw_Light(int r, int arg1, int arg2,Point P){ XClearWindow(display, window); double xA = P.x+(r/2)*cos(arg1/64*(3.14/180)); double yA = P.y+(r/2)*sin(arg1/64*(3.14/180)); double xB = P.x+(r/2)*cos(arg2/64*(3.14/180)); double yB = P.y+(r/2)*sin(arg2/64*(3.14/180)); setLineWidth_Color(1,BLUE); XDrawArc(display,window,graphicContext,P.x-(r/2),P.y-(r/2),r,r,arg1<<6,arg2<<6); setLineWidth_Color(1,BLUE); XDrawLine(DX11,P.x,P.y,xB,yB); setLineWidth_Color(1,BLUE); XDrawLine(DX11,P.x,P.y,xA,yA); XFlush(display); }
J'espère vraiment que vous pourrez m'aider parce que je suis dessus depuis une semaine et je n'y arrive toujours pas !
Je vous remercie d'avance.
Bonne journée !
Partager