Seite 1 von 1

Gerade Linien - Verzerrungseffekt

Verfasst: 14.03.2008 20:06
von netzer
Hier mal ein Posting von mir.
Das Ergebnis ist eine Zeichnung, mit der mich meine Kunstlehrerin irgendwann in der Grundschule gequält hat.

Vielleicht hat ja jemand Lust die RGB-Werte eleganter anzupassen. /:->
Auch andere Verbesserungen sind herzlich willkommen!

Gruß
Netzer

Code: Alles auswählen

; Grafikspielerei just for fun
; 2008 by netzer 
; PB 4.10 for Windows
;-------------------------------------------- 


If InitSprite() = 0 
  MessageRequester("Fehler", "Kann Grafik nicht Initialisieren", 0)
  End
EndIf

If InitKeyboard() = 0 
  MessageRequester("Fehler", "Kann Keyboard nicht Initialisieren", 0)
  End
EndIf

If InitSprite3D() = 0 
  MessageRequester("Fehler", "Kann 3D-Grafik nicht Initialisieren", 0)
  End
EndIf

OpenScreen(1280,800,16,"Sprite Test")  ;Bildschirmgröße anpassen!!!


Repeat

ExamineKeyboard()
ClearScreen(RGB(0,0,0))

  x1 = 400
  y1 = 200
  a1 = 400
  b1 = 0
  c1 = RGB(r,g,b)
  
  x2 = 800
  y2 = 200
  a2 = 0
  b2 = 400
  c2 = RGB(r,g,b)
  
  x3 = 400
  y3 = 200
  a3 = 0
  b3 = 400
  c3 = RGB(r,g,b)
  
  x4 = 400
  y4 = 200
  a4 = 400
  b4 = 0
  c4 = RGB(r,g,b)  

StartDrawing(ScreenOutput()) : DrawingMode(1)   

DrawText(550, 150, "RGB: " + Str(r) + " " + Str(g) + " " + Str(b), RGB(255,255,255))
  
  For k = 1 To 39 

    x1 + 10
    a1 - 10
    b1 + 10
    
    Line(x1, y1, a1, b1, c1)

  Next
  
  For k = 1 To 39 

    y2 + 10
    a2 - 10
    b2 - 10
    
    Line(x2, y2, a2, b2, c2)

  Next
  
  For k = 1 To 39 

    y3 + 10
    a3 + 10
    b3 - 10
    
    Line(x3, y3, a3, b3, c3)

  Next
  
  For k = 1 To 39 

    y4 + 10
    a4 - 10
    b4 - 10
    
    Line(x4, y4, a4, b4, c4)

  Next

  Line(400, 200, 400, 0 , RGB(255, 255, 255))   
  Line(400, 600, 400, 0 , RGB(255, 255, 255)) 
  Line(400, 200, 0, 400 , RGB(255, 255, 255)) 
  Line(800, 200, 0, 400 , RGB(255, 255, 255)) 

If r < 255 And g = 0 And b = 0
  r + 1
EndIf   

If r =255 And g < 255 And b = 0
  g + 1
EndIf   

If r = 255 And g = 255 And b < 255
  b + 1
EndIf 

If r > 0 And g = 255 And b = 255
  r - 1
EndIf   

If r = 0 And g > 0 And b = 255
  g - 1
EndIf

If r = 0 And g = 0 And b > 0
  b - 1
EndIf

If r = 0 And g = 0 And b = 1
  g = 1
  b = 0
EndIf

If r = 0 And g < 255 And b = 0
  g + 1
EndIf

If r < 255 And g = 255 And b < 255
  r + 1
  b + 1
EndIf



StopDrawing()

FlipBuffers() 


Until KeyboardPushed(#PB_Key_Escape) 



 

Verfasst: 14.03.2008 20:12
von #NULL
:D sieht gut aus. (das forum wird immer psycheledischer :mrgreen: )

Verfasst: 14.03.2008 20:16
von netzer
#NULL


Nun ja,

ich nenn es einfach mal Vergangenheitsbewältigung :freak:

Verfasst: 14.03.2008 20:35
von Fluid Byte
Habs mal ein bisschen gekürzt:

Code: Alles auswählen

; Grafikspielerei just for fun
; 2008 by netzer
; PB 4.10 for Windows
;--------------------------------------------

If InitSprite() = 0
	MessageRequester("Fehler", "Kann Grafik nicht Initialisieren", 0) : End
EndIf

If InitKeyboard() = 0
	MessageRequester("Fehler", "Kann Keyboard nicht Initialisieren", 0) : End
EndIf

If InitSprite3D() = 0
	MessageRequester("Fehler", "Kann 3D-Grafik nicht Initialisieren", 0) : End
EndIf

OpenScreen(1024,768,16,"Sprite Test")  ;Bildschirmgröße anpassen!!!

Repeat
	ExamineKeyboard()
	
	ClearScreen(RGB(0,0,0))

	c1 = RGB(r,g,b) : c2 = RGB(r,g,b) : c3 = RGB(r,g,b) : c4 = RGB(r,g,b) 
	
	StartDrawing(ScreenOutput())
	DrawingMode(1)   	
	DrawText(550, 150, "RGB: " + Str(r) + " " + Str(g) + " " + Str(b), RGB(255,255,255))
	
	For k = 1 To 39	
		Line(400 + (k * 10),200,400 - (k * 10),(k * 10),c1)		
		Line(800,200 + (k * 10),-(k * 10),400 - (k * 10),c2)		
		Line(400,200 + (k * 10),(k * 10),400 - (k * 10),c3)
		Line(400,200 + (k * 10),400 - (k * 10),-(k * 10),c4)
	Next

	Line(400,200,400,0,#White)   
	Line(400,600,400,0,#White)
	Line(400,200,0,400,#White)
	Line(800,200,0,400,#White)
	
	If r < 255 And g = 0 And b = 0 : r + 1 : EndIf	
	If r = 255 And g < 255 And b = 0 : g + 1 : EndIf   	
	If r = 255 And g = 255 And b < 255 : b + 1 : EndIf	
	If r > 0 And g = 255 And b = 255 : r - 1 : EndIf   	
	If r = 0 And g > 0 And b = 255 : g - 1 : EndIf	
	If r = 0 And g = 0 And b > 0 : b - 1 : EndIf	
	If r = 0 And g = 0 And b = 1 : g = 1 : b = 0 : EndIf	
	If r = 0 And g < 255 And b = 0 : g + 1 : EndIf	
	If r < 255 And g = 255 And b < 255 : r + 1 : b + 1 : EndIf
			
	StopDrawing()
	
	FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)

Verfasst: 15.03.2008 18:00
von Jilocasin
Sieht nett aus.. so gebogen.. und so pseudo 3D <)