Grafik-Algos
Übersicht

![]() |
SmilyBetreff: Grafik-Algos |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hiho,
Mit diesem Threat möchte ich einmal nicht nur selber einen Code vorstellen, sondern nebenbei auch gleich mal eure Phantasie anregen Und zwar geht es um Codes und Algorhytmen, welche interessante Farbliche Effekte produzieren. Also hier ist erstmal ein Beispiel von mir, damit ihr seht, was ich meine: BlitzBasic: [AUSKLAPPEN] GX = 1600 Wie man im Code lesen kann, wird der Farbwert eines Pixels anhand seines Abstands vom Mittelpunkt berrechnet. Ergebnis: http://blitzmaker.chat-blitz.de/michi/gfx.jpg Ein ganz anderer Ansatz für einen Grafikalgo wäre z.B. wenn man eine "Ameise" auf einer Bestimmten Startposition setzt. Bei der Position der Ameise wird ein Bildpunkt gesetzt und sie Bewegt sich dann eine Richtung, welche mithilfe eines Algos berechnet wird. So und jetzt seit ihr gefragt ^^ Mich interessieren einfach mal, was man Grafiktechnich allein durch algos noch so realisieren kann. Falls ihr ähnliche Codeschnipsel habt zeigt sie doch mal her ![]() Gruß, Smily0412 |
||
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 |
- Zuletzt bearbeitet von Smily am Mi, Jan 03, 2007 21:23, insgesamt einmal bearbeitet
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich krieg da MAV ind er zeile :
Code: [AUSKLAPPEN] WritePixelFast X,Y, Cges
|
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
versuchs mal so:
BlitzBasic: [AUSKLAPPEN] GX = 1600 |
||
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 |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
bei mia muss man GX und GY änder auf 800*600...
Kommt aba das gleiche bei raus, bis auf das das es größer dargestellt wrid... |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Black Spider |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weiss nicht ob 3d auch erwünscht ist, doch man kann mit Cel Shading schöne effekte realisieren, wenn man n bisserl mit rumspielt:
Code: [AUSKLAPPEN] Graphics3D 800,600,32,2
SetBuffer BackBuffer() SeedRnd MilliSecs() cam = CreateCamera() PositionEntity cam,0,0,-15 shad = CreateTexture(256,4,16) SetBuffer TextureBuffer(shad) For x=0 To TextureWidth(shad) For y=0 To TextureHeight(shad) red# = (red + 10*Sin(x)) Mod 255 green# = (green + 10*Sin(y)) Mod 255 blue# = (blue + 5*Cos(x+y)) Mod 255 Color red, green, blue Plot x, y Next Next gran = CreateCube() MoveEntity gran,-10,0,5 ScaleEntity gran,2,2,2 UpdateNormals gran EntityTexture gran,shad EntityFX gran,1 o2 = CreateSphere() MoveEntity o2,-16,3,5 ScaleEntity o2,3,3,3 UpdateNormals o2 EntityTexture o2,shad EntityFX o2,1 o3 = CreateCone() MoveEntity o3,-7,-5,5 ScaleEntity o3,2,2,2 UpdateNormals o3 EntityTexture o3,shad EntityFX o3,1 Global Licht = CreatePivot() PositionEntity licht,3,3,-3 While Not(KeyHit(1)) TurnEntity gran,.5,.5,.5 TurnEntity o2,.1,1,.3 TurnEntity o3,.1,.1,.5 PointEntity cam,gran Crazy_Render(o3,Licht) Crazy_Render(o2,Licht) Crazy_Render(gran,Licht) RenderWorld Flip Wend End Function Crazy_Render(obj,licht) Local surfaces, surf, s Local vert, v Local LVX#, LVY#, LVZ# Local NVX#, NVY#, NVZ# Local Skalar# TFormVector 1,1,0,licht,obj LVX# = TFormedX() LVY# = TFormedY() LVZ# = TFormedZ() For s = 1 To CountSurfaces(obj) surf = GetSurface(obj,s) vert = CountVertices(surf) For v = 0 To vert-1 NVX# = VertexNX#(surf,v) NVY# = VertexNY#(surf,v) NVZ# = VertexNZ#(surf,v) TFormVector NVX,NVY,NVZ,obj,0 NVX# = TFormedX() NVY# = TFormedY() NVZ# = TFormedZ() Skalar# = SkalarProdukt#(NVX,NVY,NVZ,LVX,LVY,LVZ) SK2# = (Skalar# / Sqr(NVX#*NVX#+NVY#*NVY#+NVZ#*NVZ#) / Sqr(LVX#*LVX#+LVY#*LVY#+LVZ#*LVZ#)) If Sk2# < 0 Then Sk2# = 0 VertexTexCoords surf,v,SK2*.5,0 Next Next End Function Function SkalarProdukt#(X1#, Y1#, Z1#, X2#, Y2#, Z2#) Return ((X1#*X2#)+(Y1#*Y2#)+(Z1#*Z2#)) End Function |
||
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif |
Todeskop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@Smily0412 danke so funktioniert es | ||
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Smily0412
Code: [AUSKLAPPEN] ...
For X = 0 To GX - 1 ;<-- For Y = 0 To GY - 1 ;<-- C = Abs(XM-X)^2+Abs(YM-Y)^2 ...usw... hätte das Problem auch behoben. Du hast mit ql:WritePixelFast über den Buffer hinaus Pixel gesetzt (0 bis 1600 = 1601). Das funktioniert bei manchen, aber meistens sorgt es für einen MAV. cheers |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
um den Threat mal wieder hochzuholen ^^
Code: [AUSKLAPPEN] Graphics 800,600,16,2
For y = 0 To 800 c = (y) Mod 50 If ((y / 50) Mod 2) c = 50-c c = 3*c Color c,0,0 For x = 0 To 800 ny = y + Sin(x*3)*20 - 100 Plot x,ny Next Next flip For y = 0 To 800 c = (y) Mod 50 If ((y / 50) Mod 2) c = 50-c c = 3*c For x = 0 To 800 ny = y+Sin(x*4)*20-100 GetColor x,ny Color ColorRed(), c, ColorBlue() Plot x,ny Next Next flip For y = 0 To 800 c = (y) Mod 50 If ((y / 50) Mod 2) c = 50-c c = 3*c For x = 0 To 800 ny = y+Sin(x*5)*20-100 GetColor x,ny Color ColorRed(), ColorGreen(), c Plot x,ny Next Next flip WaitKey() |
||
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 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier sowas änliches wie ein Plasma-Effekt-Code: [AUSKLAPPEN] Graphics 80,60,0,3
SetBuffer BackBuffer() While Not KeyHit(1) z1#=z1+.4 z2#=z2+.8 z3#=z3+.6 LockBuffer BackBuffer() For y=0 To 59 Step 1 For x=0 To 79 Step 1 f1=120-Abs(Sin(x+z1+Sin(y*4+z1)*120)*120) f2=120-Abs(Cos(y-z2+Sin(x*4-z1)*120)*120) f3=Int(120-Abs(Sin(x*4+z2+Sin(x+y+z3)*40)*120))*256 f4=Int(120-Abs(Cos(y*4-z2+Sin(x-y-z1)*40)*120))*256 f5=Int(120-Abs(Sin(y*4+z1+Sin(x-y+z2)*40)*120))*65536 f6=Int(120-Abs(Cos(x*4-z1+Sin(x+y-z2)*40)*120))*65536 WritePixelFast x+0,y+0,f1+f2+f3+f4+f5+f6 Next Next UnlockBuffer BackBuffer() Flip Wend End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
FWeinbehemals "ich" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sehr sehr Geil Hectic also das sieht super aus aber auch der Effeckt von Smily ist gut | ||
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group