Sinus image

Übersicht Ressourcen Grafik & Design

Neue Antwort erstellen

DA

Betreff: Sinus image

BeitragDo, Jul 08, 2004 15:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Ich hab in ein paar samples etwas über sinus gehörtr und gesehen.
Damit kann man zum beispiel ein bild wie eine flage bewegen.
Aber wie funzt dat eigentlich?
Kann mir dat einer beibringen oder eher gesagt erklären?
Deutscher Blitz Basic Chat

MVB

BeitragDo, Jul 08, 2004 15:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Tutorials heissen die Teile die du lesen musst.
www.robsite.de
www.google.de
usw.
aquamonit.de|BlitzMax|MaxGUI

Triton

BeitragDo, Jul 08, 2004 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Wellenform der Sinuskurve ist ja allgemein bekannt. Diese Wellenform
kann man natürlich auch verschiedenste Art und weise ausnutzen und auf bilder anwenden. Die einfachste Form wäre, eine einfache Welle entlang der x-Achse des Bildes zu verwenden, es geht aber natürlich auch x+y uvm.

Hier 2 Codes die den Sinus/Cosinus-einsatz gut demonstrieren:

Code: [AUSKLAPPEN]
Graphics 640, 480, 16, 2

SetBuffer BackBuffer()

TFormFilter 0

Image = LoadImage("bla.jpg")
ResizeImage Image, 42, 42

Global WelleA#, WelleB#, WelleC#

While Not KeyHit(1)
Cls
DrawImage Image, 10, 10

WelleA# = 0 : WelleB# = 0
LockBuffer BackBuffer()
; Zeichne Welle Horizontal
For Y = 0 To 42
WelleB# = WelleB# + .1
For X = 0 To 42
CopyPixelFast 10+X, 10+Y, BackBuffer(), 100+X+Sin(WelleA+WelleC), 10+Y, BackBuffer()
WelleA# = WelleA# + .2
Next
Next

WelleA# = 0 : WelleB# = 0
; Zeichne Welle Vertikal
For X = -5 To 42+5
For Y = -5 To 42+5
CopyPixelFast 100+X, 10+Y, BackBuffer(), 200+X, 10+Y+Sin(WelleA+WelleC), BackBuffer()
WelleA# = WelleA# + .2
Next
Next
UnlockBuffer BackBuffer()



WelleC# = WelleC# + 2
If WelleC#>360 Then WelleC# = 0

Flip
Wend

End


und

Code: [AUSKLAPPEN]

;3D-Wellen, 2004 by Triton
Graphics 800,600,16,2
SetBuffer BackBuffer()
sizex = 75
sizey = 75
originx = GraphicsWidth()/2-sizex*2
originy = GraphicsHeight()/2
time1 = MilliSecs()

While Not KeyDown(1)
For a = 1 To 90 Step 1
   For x = 0 To sizey
      For y = 0 To sizey
         lx = (sizex/2)-x
         ly = (sizey/2)-y
         abstand# = Sqr((lx*lx)+(ly*ly))-a
         c# = Sin(abstand#*20)*6
         xneu = x+y
         yneu = (y-x)/2
         r=255-(Sin#(abstand#*20.0)+1.0)/2.0*255
         g=r
         b=r
         rgb=255*$1000000 + r*$10000 + g*$100 + b
         WritePixel xneu*2+originx,yneu*2+c+originy,rgb
         If KeyDown(1) Then End
      Next
   Next
   loops = loops+1
   Color 255,255,255
   Text 10, 10, fps+" FPS"
   If MilliSecs() - time1 > 1000 Then fps = loops:loops = 0:time1 = MilliSecs()
   Flip
   Cls
Next
Wend


Ich vermute, du hast noch nicht Klasse 10 erreicht? Smile

DA

BeitragDo, Jul 08, 2004 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich komme jetzt in die 8 klasse Embarassed
Deutscher Blitz Basic Chat

Michi1988

BeitragDo, Jul 08, 2004 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Du bekommst Trigonometrie in der 10. Klasse.
Mit ein bisschen nachdenken usw. könntest du sogar
verstehen was Cosinus und Sinus sowie Tangens sind.

Vorrausgesetzt es erklärt dir einer.

DA

BeitragDo, Jul 08, 2004 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach ist nicht so schlim!
Wen es halt nicht geht dan geht es halt nicht!
Ich wollte mich jetzt sowieso erst auf die 2d spiele programmierung konzentrieren.
Deutscher Blitz Basic Chat

Paul

BeitragDo, Jul 08, 2004 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
bin jetzt ende 10. Klasse und ich muss sagen, Sin/Cos/Tan is echt simpel... Allerdings erst nachdem man sich en halbes Jahr damit beschäftigt hat. Aber die Grundsachen von sin/cos in BB kannst du auch ohne Trigonometrie anwenden.

Paul
Stratocaster black - Roland MicroCube
User posted image
Girgl-World, wer's nich kennt, is' blöd!

Neue Antwort erstellen


Übersicht Ressourcen Grafik & Design

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group