Bonjour,
Je suis débutant dans ce domaine et j'aimerais donc savoir où trouver un algorithme permettant de tracer des segments en C++.
Merci de votre aide.
Bonjour,
Je suis débutant dans ce domaine et j'aimerais donc savoir où trouver un algorithme permettant de tracer des segments en C++.
Merci de votre aide.
Peut être que l'algorithme de Bresenham te sera utile.
Google te donnes plein de choses intéressante.
Dans ma jeunesse quand je programmais sous gba j'avais fait ça:
C'était optimisé pour n'utiliser que des entiers.
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 void DrawLine_3(u8 x1 ,u8 y1 ,u8 x2 ,u8 y2, u16 col) { u16 x,y,deltax,deltay,swap,i; signed short sx,sy,erreur; x = x1; y = y1; sx = x2 - x1; sy = y2 - y1; deltax = gbAbs(sx); deltay = gbAbs(sy); if(sx > 0) sx = 1; if(sx < 0) sx = -1; if(sy > 0) sy = 1; if(sy < 0) sy = -1; if(deltay > deltax) { swap = deltax; deltax = deltay; deltay = swap; swap = 1; } else swap = 0; erreur = 2*deltay - deltax; for ( i = 0 ; i < deltax ; i++ ) { VIDEO_MEM[x+y*240]=col; while ( erreur >= 0 ) { if (swap) x += sx; else y += sy; erreur -= 2*deltax; } if (swap) y += sy; else x += sx; erreur += 2*deltay; } }
hum, maintenant y'a des librairies graphiques ;)
Apres suffit de faire des trucs du genre DrawLine(0, 0, 10, 10);
ou Pen->MoveTo(0, 0);
Pen->LineTo(10,10);
etc...
- http://jeg.developpez.com
- Projet RPGen : Editeur d'environnement de simulation de mondes régis par intelligence artificielle, interagissant avec le joueur. Peut faire office d'éditeur de RPG en 2D. http://jegsbond.free.fr/RPGen/ (Cherche testeurs)
Je vous remercie tous pour vos réponses.
L'algorithme de Bresenham me conviens parfaitement merci.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager