J'ajouterais au défis, comment remplir ton rectangle avec une image de ton choix sans utilisé une seule fonction de dessin ( plot , line, box, etc... )
[DEFI] Dessiner
Re: [DEFI] Dessiner
Les fonctions cos/sin peuvent être fait a la main...
J'ajouterais au défis, comment remplir ton rectangle avec une image de ton choix sans utilisé une seule fonction de dessin ( plot , line, box, etc... )
J'ajouterais au défis, comment remplir ton rectangle avec une image de ton choix sans utilisé une seule fonction de dessin ( plot , line, box, etc... )
Re: [DEFI] Dessiner
pas toiet qui ch'est qui na gagné ?? gna gna gna ...
http://lmgtfy.com/?q=d%C3%A9finition+re ... p+con+%3AD
http://fr.wikipedia.org/wiki/Rectangle
Re: [DEFI] Dessiner
ha mais pardon !!
mes angles sont droits !!
c'est parceque la représentation se fait sur ton ecran qui lui n'est pas un carré
alors forcement, il peut y avoir sur certain "angle" un effet de parallélogramme...
mais c'est simplement du au fait que ton ecran n'est pas carré , et que si tu ajoute une valeur en verticale
ça n'a pas le meme effet qu'en horizontale ..
c'est d'une tel évidence, que je ne comprends meme pas ton allusion
d'ailleurs le model est bien incliné comme il faut !!
meme si disproportionné, car il s'agit d'un carré ... (80x80), a cause de l'ecran
le defis n'est pas de pouvoir faire une rotation par degres ....
mais juste de pouvoir le tourner ... c'est ce que je fait, d'ailleurs ma variable s'appelle "Penche" .. pas degres
mes angles sont droits !!
c'est parceque la représentation se fait sur ton ecran qui lui n'est pas un carré
alors forcement, il peut y avoir sur certain "angle" un effet de parallélogramme...
mais c'est simplement du au fait que ton ecran n'est pas carré , et que si tu ajoute une valeur en verticale
ça n'a pas le meme effet qu'en horizontale ..
c'est d'une tel évidence, que je ne comprends meme pas ton allusion
d'ailleurs le model
Code : Tout sélectionner
rectangle(150,20,80,80,rgb(0,110,0),45)meme si disproportionné, car il s'agit d'un carré ... (80x80), a cause de l'ecran
le defis n'est pas de pouvoir faire une rotation par degres ....
mais juste de pouvoir le tourner ... c'est ce que je fait, d'ailleurs ma variable s'appelle "Penche" .. pas degres
Re: [DEFI] Dessiner
@Dobro
Désolé Dobro, mais ça donne bien des parallélogrammes pas des rectangles.
@G-ROM
.
M.
Désolé Dobro, mais ça donne bien des parallélogrammes pas des rectangles.
@G-ROM
Attention, pas de table de sin ou autre... et je n'ai pas utilisé de développement limité non plus, ni d'exponentiel d'ailleurs.Les fonctions cos/sin peuvent être fait a la main...
.
J'aimerais bien voir ce code, toujours avec un rectangle penché.J'ajouterais au défis, comment remplir ton rectangle avec une image de ton choix sans utilisé une seule fonction de dessin ( plot , line, box, etc... )
M.
Re: [DEFI] Dessiner
C'est le but, cela s'appelle de la rastérization, le gars qui cherche un peu sur le forum, devrais trouvé un de mes vieux code qui le fait.J'aimerais bien voir ce code, toujours avec un rectangle penché.![]()
Super optimisé , pas une seule fonction de trigo "visible" dans le code :
Code : Tout sélectionner
InitSprite()
OpenWindow(0,0,0,800,600,"")
OpenWindowedScreen(WindowID(0),0,0,800,600)
X1.f = 100
Y1.f = 100
X2.f = 600
Y2.f = 200
MY_FUCKING_ANGLE.f = 0
MY_FUCKING_CHEAT = CreateSprite(#PB_Any,Abs(X2-X1),Abs(Y2-X1))
MY_FUCKING_TIMER.f = 0
StartDrawing(SpriteOutput(MY_FUCKING_CHEAT))
FillArea(0,0,$BADA55)
StopDrawing()
DOBRO_IS_CHEATER = #True
While DOBRO_IS_CHEATER
event = WindowEvent()
If event = #PB_Event_CloseWindow
DOBRO_IS_CHEATER = #True ; no change...
Break
EndIf
A.i = ElapsedMilliseconds()
MY_FUCKING_ANGLE + 100 * MY_FUCKING_TIMER
ClearScreen($BADF00D)
RotateSprite(MY_FUCKING_CHEAT,MY_FUCKING_ANGLE,#PB_Absolute)
DisplaySprite(MY_FUCKING_CHEAT,200,200)
FlipBuffers()
MY_FUCKING_TIMER = (ElapsedMilliseconds() - A) / 1000
Wend
Re: [DEFI] Dessiner
@G-Rom
Je ne vois pas de remplissage avec une image et puis surtout les sprites sont interdits bien-sûr, pour le défi.
M.
Je ne vois pas de remplissage avec une image et puis surtout les sprites sont interdits bien-sûr, pour le défi.
M.
Re: [DEFI] Dessiner
Bonjour,
Pour la création du rectangle + remplissagle il y a le scanline, j'avais fait y a longtemps cela en VB6 (je suis un fou)...
Cordialement,
GallyHC
Pour la création du rectangle + remplissagle il y a le scanline, j'avais fait y a longtemps cela en VB6 (je suis un fou)...
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: [DEFI] Dessiner
....
Dernière modification par Backup le mar. 19/août/2014 9:46, modifié 1 fois.
Re: [DEFI] Dessiner
Perso j'utiliserai le tracé de ligne et de cercle de Bresenham (pas Andres pour le cercle) pour éviter les sin/cos...
Mais j'ai la flemme, je refais la cuisine depuis quelques jours et je suis HS.
Mais j'ai la flemme, je refais la cuisine depuis quelques jours et je suis HS.
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Version de PB : 6.00LTS - 64 bits
Re: [DEFI] Dessiner
@Dobro
Les angles ne sont toujours pas droit (même si ça ne se voit pas bien).
@Fig
Les algorithmes de Bresenham et d'Andres calculent les coordonnées d'un point par rapport aux coordonnées du point précédent. On peut dessiner une ligne point par point (lineXY utilise probablement Bresenham) ou un cercle point par point. Pour utiliser ces algorithmes, il faut une équation paramétrique continue et dérivable. On peut donc dessiner une doite, un cercle, une ellipse, un cône, mais je n'ai jamais vu d'algorithmes de Bresenham pour un rectangle, carré, polygone, sans un effort de programmation important.
De toute façon, pour résoudre ce défi, un niveau de 1ére S suffit.
M.
Les angles ne sont toujours pas droit (même si ça ne se voit pas bien).
@Fig
Les algorithmes de Bresenham et d'Andres calculent les coordonnées d'un point par rapport aux coordonnées du point précédent. On peut dessiner une ligne point par point (lineXY utilise probablement Bresenham) ou un cercle point par point. Pour utiliser ces algorithmes, il faut une équation paramétrique continue et dérivable. On peut donc dessiner une doite, un cercle, une ellipse, un cône, mais je n'ai jamais vu d'algorithmes de Bresenham pour un rectangle, carré, polygone, sans un effort de programmation important.
De toute façon, pour résoudre ce défi, un niveau de 1ére S suffit.
M.
Re: [DEFI] Dessiner
Mesa a écrit :@Dobro
Les angles ne sont toujours pas droit (même si ça ne se voit pas bien).
comme tu ne peux pas prouver ce que tu avances , j'ai gagné !
j'ai gagné !
j'ai gagné !
j'ai gagné !
j'ai gagné ! .... Na !
Re: [DEFI] Dessiner
Mesa a écrit :@Fig
Les algorithmes de Bresenham et d'Andres calculent les coordonnées d'un point par rapport aux coordonnées du point précédent. On peut dessiner une ligne point par point (lineXY utilise probablement Bresenham) ou un cercle point par point. Pour utiliser ces algorithmes, il faut une équation paramétrique continue et dérivable. On peut donc dessiner une doite, un cercle, une ellipse, un cône, mais je n'ai jamais vu d'algorithmes de Bresenham pour un rectangle, carré, polygone, sans un effort de programmation important.
De toute façon, pour résoudre ce défi, un niveau de 1ére S suffit.
M.
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Version de PB : 6.00LTS - 64 bits
Re: [DEFI] Dessiner
@dobro
C'est une translation pas une rotation, ça ne donne un angle droit que par chance, une fois de temps en temps.
@Fig
Je cherche cet algorithme (dessiner un polygone avec bresenham), tu peux essayer d'en poster un en purebasic, stp ?
M.
Code : Tout sélectionner
py2=py2+penche
py3=py3+penche
px1=px1+penche
px2=px2+penche
@Fig
Je cherche cet algorithme (dessiner un polygone avec bresenham), tu peux essayer d'en poster un en purebasic, stp ?
M.