Kreisausschnitt

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Smily

Betreff: Kreisausschnitt

BeitragFr, März 09, 2007 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Kennt jemand einen schnellen Algorhytmus, um einen Kreisausschnitt auszumalen?

Ich hatte mir schon folgendes Überlegt, nur leider ist das sehr Langsam und für Echtzeit-Darstellungen nicht zu gebrauchen:

Code: [AUSKLAPPEN]

Graphics 800,600,16,2
ClsColor 255,255,255
Color 0,0,0
Repeat
 Cls
 ri# = (ATan2(100-mousey(), MouseX()-100) + 360) Mod 360

 Color 255,128,128
 For fri# = 1 To ri-1 Step 0.02
  Line 100,100,100+cos(fri)*49.0, 100 - Sin(fri)*49.0
 next

 Color 0,0,0
 Oval 50,50,100,100,0
 
 Line 100,100,100+cos(ri)*50, 100 - Sin(ri)*50
 Line 100,100,150,100

 Text 0,0,"a = " + Floor(ri) + "°"
 
 Flip
Until KeyHit(1)
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Blitzcoder

Newsposter

BeitragFr, März 09, 2007 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 800,600,0,2



SetBuffer BackBuffer()
Repeat

   angle=angle+1
   If angle = 361 Then angle = 1
   kreisausschnitt(400,400,100,angle,angle+50)


   Flip 0:Cls
Until KeyDown(1)
End


Function kreisausschnitt(x,y,r,start,Endangle)
   LockBuffer(BackBuffer())
   
   For i = 1 To 360
      WritePixelFast Cos(i)*r+x,Sin(i)*r+y,$FFFFFF
   Next
   
   For i = start To endangle
      For radius=1 To r
         WritePixelFast Cos(i)*radius+x,Sin(i)*radius+y,$FFFFFF
      Next
   Next
   
   UnlockBuffer(BackBuffer())
End Function


Hab ich mal eben gecodet, aber auch verdammt lahm. Ich denk richtig schneller wird es ohne 3D Technik auch nicht gehen. Zur Not Grafiken nehmen.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

skey-z

BeitragFr, März 09, 2007 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
am schnelssten wäre es wohl mit einem animierten image oder wie Blitzcoder schon als alternative schrieb mit writepixel(fast)
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group