Sinus image
Übersicht

![]() |
DABetreff: Sinus image |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tutorials heissen die Teile die du lesen musst.
www.robsite.de www.google.de usw. |
||
aquamonit.de|BlitzMax|MaxGUI |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
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? ![]() |
||
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich komme jetzt in die 8 klasse ![]() |
||
Deutscher Blitz Basic Chat |
![]() |
Michi1988 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group