was mach ich falsch ?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Plasma(alt)

Betreff: was mach ich falsch ?

BeitragMi, Jan 07, 2004 23:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

gfx = 640
gfy = 480
Graphics gfx,gfy,16,1
Dim x(360)
Dim y(360)
Dim x1(360)
Dim y1(360)
abstx = gfx/2
absty = gfy/2
radius = 200
Color 222,222,222
For r#= 0 To 360 Step .1

   x(r#) = (Sin(r#)*radius) +abstx
   y(r#) = (Cos(r#)*radius) +absty
   x1(r#) = x(r#)
   y1(r#) = y(r#)


   Plot ( x(r#)),(y(r#)) ;????????????
Next

Text 10,10,"Taste"
WaitKey()

Color 0,0,0
While Not KeyHit(1)
   For r#= 0 To 360 Step .1
      Plot  (x( r#)), (y( r#)) ;??????????
   Next
Wend
End


beide kreise sind nicht identisch ?
wieso ?
 

OJay

BeitragMi, Jan 07, 2004 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
natürlich nicht. es können keine 1/10 oder kleinere pixel dargestellt werden! sondern nur ganze.
und wenn eine coordinate nun 238.453, dann macht er den punkt eben an 238, also um fast einen halben pixel verschoben. und genau daraus erklärt sich auch die ungenauigkeit...

Plasma(alt)

Betreff: ähm

BeitragMi, Jan 07, 2004 23:57
Antworten mit Zitat
Benutzer-Profile anzeigen
ich nehme dieselben arrays !

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDo, Jan 08, 2004 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
versuch das mal so
auf 2 kommastellen mit GanzzahlenCode: [AUSKLAPPEN]
gfx = 640
gfy = 480
Graphics gfx,gfy,16,1
Dim x(36000)
Dim y(36000)
Dim x1(36000)
Dim y1(36000)
abstx = gfx/2
absty = gfy/2
radius = 200
Color 222,222,222
For r#= 0 To 36000 Step 1

   x(r#) = (Sin(r#)*radius) +abstx
   y(r#) = (Cos(r#)*radius) +absty
   x1(r#) = x(r#)
   y1(r#) = y(r#)


   Plot ( x(r#)),(y(r#)) ;????????????
Next

Text 10,10,"Taste"
WaitKey()

Color 0,0,0
While Not KeyHit(1)
   For r#= 0 To 36000 Step 1
      Plot  (x( r#)), (y( r#)) ;??????????
   Next
Wend
End

Dimfelder können nur mit ganzen zahlen angesprochen werden
denn ein Feld mit a(1.123,5,6789) gibt es nicht und wird deswegen nicht richtig berechnet vom Compiler!
Normalerweise sollte auch eine Fehlermeldung kommen, scheint aber nicht mit drin zu sein
[BB2D | BB3D | BB+]

Plasma(alt)

Betreff: ok

BeitragDo, Jan 08, 2004 0:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

gfx = 640
gfy = 480
Graphics gfx,gfy,16,1
Dim x(3600)
Dim y(3600)
Dim x1(3600)
Dim y1(3600)
abstx = gfx/2
absty = gfy/2
radius = 200
Color 222,222,222
For r#= 0 To 360  Step .3
rr =rr+1

   x(rr) = ((Sin(r#))*radius)  +abstx
   y(rr) = ((Cos(r#))* radius)  +absty
   x1(rr) = x(r#)
   y1(rr) = y(r#)

   
   Plot ( x(rr)),(y(rr)) ;????????????
Next

Text 10,10,"Taste"
WaitKey()

Color 0,0,0
While Not KeyHit(1)
rr=0
   For r#= 0 To 360 Step .3
   rr=rr+1
      Plot  (x( rr)), (y( rr)) ;??????????
   Next
Wend
End


naja Wink
 

HOT-BIT

Gast

BeitragDo, Jan 08, 2004 0:57
Antworten mit Zitat
Hi,

hatte grad den selben Fehler im Chat entdeckt


Dim x(360)

For r#=0 To 360 Step .1

next

Das wären dann ja 3600 Felder


Toni

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group