Показать сообщение отдельно
Старый 21.09.2007, 00:38   #4
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Формула конопли

вот второй вариант (кто больше):
Graphics 640,480,32,2
SetBuffer BackBuffer()

For i=1 To 12
	

a#=0
Color 120-i*10,255-i*20,40-i
While a<360
	a=a+0.01
	R# = (1+Sin(a))*(1-.9*Abs(Sin(4*a)))*(.9+.05*Cos(200*a))
	x#=320+Sin(a+90)*R*(200-(i*10))
	y#=400+Cos(a+90)*R*(200-(i*10))
	Plot x,y
Wend

Next

Dim buff(640,480,3)
LockBuffer BackBuffer()

For i=1 To 640
	For j=1 To 480
		buff(i,j,0)=ReadPixelFast(i,j,BackBuffer())
		buff(i,j,1)=r(buff(i,j,0))
		buff(i,j,2)=g(buff(i,j,0))
		buff(i,j,3)=b(buff(i,j,0))
	Next
Next

For i=2 To 639
	For j=2 To 479
		r_=0
		g_=0
		b_=0
		For dx=-1 To 1
		For dy=-1 To 1
			r_=r_+buff(i+dx,j+dy,1)
			g_=g_+buff(i+dx,j+dy,2)
			b_=b_+buff(i+dx,j+dy,3)
		Next
		Next
		buff(i,j,0)=rgb(r_/9,g_/9,b_/9)
	Next
Next
For i=1 To 640
	For j=1 To 480
		WritePixelFast i,j,buff(i,j,0),BackBuffer()
	Next
Next

UnlockBuffer BackBuffer()
Flip
WaitKey

Function rgb(r,g,b)
	Return r Shl 16 Or g Shl 8 Or b
End Function

Function r(v)
	Return v Shr 16 And $FF
End Function

Function g(v)
	Return v Shr 8 And $FF
End Function

Function b(v)
	Return v And $FF
End Function
(Offline)
 
Ответить с цитированием