Page 3 sur 3

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 13:05
par Backup
bon , je donne ma langue a la chatte ! :)

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 13:45
par djes
J'aurais bien voulu participer, mais il y a un truc qui m'échappe dans l'énoncé, du coup j'ai renoncé.
J'ai quand même regardé du côté de Bresenham car j'adore cet algo, et j'ai trouvé deux très beaux liens :

Pleins d'algos pour le tracé de lignes, de cercles, de courbes avec ou sans antialiasing:
http://members.chello.at/easyfilter/bresenham.html

Un vieil algo qui mériterait (peut-être) d'être remis au goût du jour.
http://www.zoo.co.uk/~murphy/thickline/index.html

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 15:35
par Mesa
Il faut trouver une procédure comme celle-ci:
Procedure rectangle(X0,Y0, X1, Y1, E, Couleur)
...
EndProcedure


A(X0;Y0) et B(X1;Y1) sont fixés, par exemple A(100,100) et B(200,50)
E est l'"épaisseur du rectangle", par exemple E=30, et Couleur est la couleur du trait.
Par exemple : rectangle(100,100,200, 50, 30, RGB(255,255,0))


Il faut donc trouver les coordonnées des 2 points manquants C(x2,y2) et D(x3,y3) pour former et dessiner ce rectangle.

Sauf que dans cette procédure, il ne faut utiliser que : +, -, *, /, sqr, line() et lineXY().

A(x0,y0)_________________B(x1,y1)
.........|......................|
.........|......................|
.........|......................|
C(x2,y2)_________________D(x3,y3)
UN INDICE
Si vous regarder le 1er code de cette page
http://www.purebasic.fr/english/viewtop ... 40&t=58231
vous serez capable de faire une rotation d'un point d'un angle de 90° très facilement...
Vous pouvez donc dessiner un carré très facilement aussi,non ?
Alors pourquoi pas un rectangle !

M.

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 15:46
par Backup
tu peux rotationer de 90 deg , mais pas de 33 , 54 ...

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 16:42
par Micoute
Dobro a écrit :tu peux rotationer de 90 deg , mais pas de 33 , 54 ...
Peut-être pas, mais des sous multiples de 90, avec un diviseur, ça doit être faisable !

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 17:54
par Fig
djes a écrit :J'aurais bien voulu participer, mais il y a un truc qui m'échappe dans l'énoncé, du coup j'ai renoncé.
J'ai quand même regardé du côté de Bresenham car j'adore cet algo, et j'ai trouvé deux très beaux liens :

Pleins d'algos pour le tracé de lignes, de cercles, de courbes avec ou sans antialiasing:
http://members.chello.at/easyfilter/bresenham.html

Un vieil algo qui mériterait (peut-être) d'être remis au goût du jour.
http://www.zoo.co.uk/~murphy/thickline/index.html
Le premier est un très bon lien.

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 19:17
par Mesa
@Dobro
L'indice ne parle pas de rotatutionaliser le rectangle en entier mais 1 point seulement... 8)

@Fig
Je vais traduire le code C en PB et commencer une bibliothèque 2D que j'appellerai "Shape".

Re: [DEFI] Dessiner

Publié : ven. 28/févr./2014 19:54
par Fig
Je crois que Bresenham (le cercle au moins) a déja été codé... Fait une recherche :wink:
Sinon, tu nous le donne le code de ce défit ? :mrgreen:

Re: [DEFI] Dessiner

Publié : sam. 01/mars/2014 11:59
par Mesa
Et voilà.
La réponse est dans le premier post. :D

Mesa.