Page 1 of 1

probleme avec line(

Unread postPosted: 24 Oct 2016, 15:45
by xxalexerxx
voici mon code ! : ( un peu long je dois l'avouer x) )
Code: Select all
ClrDraw
ClrHome
0→K
0→A
0→B
0→C
0→D
4→E
8→F
0→P
Output(E,F,":
While 1
Output(1,1," "
Output(1,3," "
Output(1,2,P
Output(2,1," "
Output(2,3," "
Output(2,4," "
Output(2,2,A
Output(3,1," "
Output(3,3," "
Output(3,4," "
Output(3,2,B

getKey→K
If K=26
Then
P+1→P
A+6→A
C+6→C
Output(E,F," "
F+1→F
Output(E,F,":
End

If K=24
Then
P-1→P
A-6→A
C-6→C
Output(E,F," "
F-1→F
Output(E,F,":
End

If K=25
Then
B+12→B:D+12→D
Output(E,F," "
E-1→E
Output(E,F,":
End

If K=34
Then
B-12→B
D-12→D
Output(E,F," "
E+1→E
Output(E,F,":
End

If K=45
Then
Line(A,B,C,D,0)
End

If K=83
Then
Line(A,B,A,B
Pause
End

If K=82
Then
Line(A,B,A-6,B
End

If K=84
Then
Line(A,B,A+6,B
End

If K=73
Then
Line(A,B,A,B+12
End

If K=93
Then
Line(A,B,A,B-12
End

End

Re: probleme avec line(

Unread postPosted: 24 Oct 2016, 15:57
by Wistaro
Bonjour, quel est ton problème?

Re: probleme avec line(

Unread postPosted: 24 Oct 2016, 16:02
by xxalexerxx
lorsque je fais 3 traits ca me fait ca : ----------
3 4 3

il y a un trait qui es plus grand !

Re: probleme avec line(

Unread postPosted: 24 Oct 2016, 16:02
by Wistaro
xxalexerxx wrote:lorsque je fais 3 traits ca me fait ca : ----------
3 4 3


3 traits? C'est à dire? 3 line() ?

Re: probleme avec line(

Unread postPosted: 24 Oct 2016, 16:10
by xxalexerxx
je vais essayer d'être le plus clair possible ;)
quand j'appuie sur fleche droite, cela me fait un trait de longueur (A,B,A+5,B
donc quand j'appuie 3 fois sur fleche droite, un droite devrait se former et qui serait composer de 3 line(A,B,A+5,B) toute identique
Mais pourtant, le 3ème trait fait heu 1 "pixel" de plus ( environ ) que les 2 autres.
Comme je le sais ? Et bien lorsque je fais 3 carrés avec ces 3 droites, un carrée à 2 longeurs plus grande, et ces donc plus un rectangle qu'un carrée ! x)
D'ou peut venir le probleme ?

Re: probleme avec line(

Unread postPosted: 24 Oct 2016, 17:27
by Bisam
Line( trace en fonction des coordonnées et non en fonction des pixels, d'où les petites différences que tu peux noter qui sont dues aux calculs d'arrondis.
Si tu veux que les coordonnées correspondent exactement aux pixels, il faut changer les paramètres de la fenêtre graphique.

Re: probleme avec line(

Unread postPosted: 26 Oct 2016, 20:20
by Wistaro
Pour une correspondance maximale:
Code: Select all
0->Xmin
1-> DeltaX
0-> Ymax
-62 -> Ymin


Du coup maintenant:
Pt-On(A,B)

Sera au même point que

Pxl-On(-B,A)