Seite 1 von 1

Apfelmännchen & Co.

Verfasst: 08.03.2006 21:05
von Xaby
Hi Fans,

hab einen Artikel aus unserer Kreiszeitung von '92 gefunden.
War schon etwas gelblich das Blatt, aber die Schrift war noch gut zu erkennen. Das Ursprungsprogramm war für QBasic.

Ich habs etwas abgeändert. Vielleicht setzt ihr hier auch ein paar lustige Dinge rein, ähnlich wie bei dem SoundThread :freak:

Code: Alles auswählen

; Sternkurvenfamilie


;/ Grafikmodus

OpenWindow(0,0,0,320,200,#PB_Window_ScreenCentered,"Sternkurven 17. Juli 1992 MAZ, Folker Linstedt 2006")


Global pi.f
Global radius.f
Global ivanz 

pi = 3.14159: 
radius = 99 :
 ivanz = 16

Procedure.f fnx(p.f)
  e.f=Cos(p)
  Q.f=radius*e*e*e
  ProcedureReturn Q
EndProcedure

Procedure.f fny(p.f)

 e.f=Sin(p)
 
 Q.f=radius*e*e*e
 
 ProcedureReturn Q
EndProcedure

StartDrawing(WindowOutput())
Box(0,0,320,200,RGB(0,0,0))

For drehl=0 To 16 
  xa.f = fnx(0): ya.f=fny(0): dreh.f=drehl*pi/16: Debug dreh
  xz.f= Cos(dreh) * xa - Sin(dreh) * ya
  yz.f= Sin(dreh) * xa + Cos(dreh) * ya
  xa=xz: ya=yz
  For i=1 To ivanz
    t.f = i / ivanz * (2*pi)  
    
    xe.f=fnx(t): ye.f=fny(t)
    xz=Cos(dreh) * xe - Sin (dreh)*ye
    yz=Sin (dreh)* xe + Cos (dreh) *ye
    xe=xz: ye=yz
  LineXY(Round(xa+160,0),Round(ya+100,0),Round(xe+160,0),Round(ye+100,0),RGB(255,255,255))
  xa=xe: ya=ye
  Next i
  radius=radius*0.88
Next drehl

StopDrawing()
   
   Repeat
     EventID = WaitWindowEvent() 
   
   Until EventID = #PB_Event_CloseWindow


End;
Ich sag's gleich, ist nicht optimiert, wollte nur mal sehen, ob's funktioniert.
Gruß, Folker :allright: