Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты на Blitz3D

Проекты на Blitz3D Обсуждение будущих проектов, демок, набор команды и т.п.

Ответ
 
Опции темы
Старый 05.08.2008, 17:50   #1
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

Ничего не делать мы не можем по определению. Поэтому программеры страдают всякой хней, и пишут всякие прикольные програмки. Вот мне седня попалась интересная формула: R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t))

а вот что получилось:
http://www.forum.likosoft.ru/attachment.ph...mp;d=1217939920

на генерацию "рисунка", точнее на его заблюривание, на моем "пентиуме" окола 5 секунд.

Нажмите на изображение для увеличения
Название: Konopla.PNG
Просмотров: 1228
Размер:	353.9 Кб
ID:	4664

Graphics3D 800,600,32,2
SetBuffer FrontBuffer()
t#=0
Dim pixmap(0,0)

Color 92,192,0
steps = 0

While(steps<50)
	;Rect(0,0,512,512,0)
	t=t+0.2618;

	R# = (1+Sin(t))*(1-.9*Abs(Sin(4*t)))*(.9+.05*Cos(200*t))
	
	x# = 256 + Sin(t-90) * r*(220-(steps*4))
	y# = 450 - Cos(t-90) * r*(230-(steps*4))
	
	
	If ox=0 Then ox=x
	If oy=0 Then oy=y
	Line x,y,ox,oy
	ox=x
	oy=y
	
	If t>360
		t=0
		steps=steps+1
		ox=0
		oy=0
		Delay(1)
	EndIf
;	Delay(1)
Wend

tex = CreateTexture(512,512)
CopyRect(0,0,512,512,0,0,FrontBuffer(),TextureBuffer(tex))

buff=TextureBuffer(tex)
;LockBuffer buff
BlurBuffer(buff,512,512,2)

;UnlockBuffer buff
q = CreateQuad()
HideEntity q
EntityTexture q,tex
EntityBlend q,3
ScaleEntity q,5,5,5

SetBuffer BackBuffer()

cam = CreateCamera()

Type plan
	Field ent,x#,y#,z#
	Field dx#,dy#,dz#
	Field tx#,ty#
End Type

PositionEntity cam,0,10,-20
PointEntity cam,q

While Not KeyDown(1)
	AddPlan(q)
	UpdatePlans()
	RenderWorld
	Flip
Wend

Function CreateQuad()
	quad=CreateMesh()
	s=CreateSurface(quad)
	v0=AddVertex(s,-1,0,1,0,0)
	v1=AddVertex(s,1,0,1,0,1)
	v2=AddVertex(s,1,0,-1,1,1)
	v3=AddVertex(s,-1,0,-1,1,0)
	AddTriangle(s,v0,v1,v2)
	AddTriangle(s,v0,v2,v3)
	Return quad
End Function

Function AddPlan(ent)
	p.plan = New plan
	p\ent = CopyEntity(ent)
	ShowEntity p\ent
	EntityFX p\ent,1+16
	p\dx=Rnd(-0.5,0.5)
	p\dz=Rnd(-0.5,0.5)
	p\dy=Rnd(0.5,1)
	p\tx=Rnd(-2,2)
	p\ty=Rnd(-5,5)
End Function

Function UpdatePlans()
	For p.plan = Each plan
		TurnEntity p\ent,p\tx,0,0
		TurnEntity p\ent,0,p\ty,0
		
		p\dx=p\dx*0.99
		p\dz=p\dz*0.99
		
		p\dy=p\dy-0.02
		
		TranslateEntity p\ent,p\dx,p\dy,p\dz
		If EntityY(p\ent)<-100
			FreeEntity p\ent
			Delete p
		EndIf
	Next
End Function

Function Paint(buff,x,y,clr,maxw,maxh)

	WritePixel(x,y,clr,buff)
	For di=-1 To 1
		For dj=-1 To 1
			cx = x+di
			cy = y+dj
			If cx>=0 And cy>=0 And cx<maxw And cy<maxh
			    cc = ReadPixelFast(cx,cy,buff) And $00FFFFFF
			    ;DebugLog cc
				If cc=0
					Paint(buff,cx,cy,clr,maxw,maxh)
				EndIf
			EndIf
		Next
	Next
	
End Function

Function PaintFast(buff,x,y,clr,maxw,maxh)

	WritePixelFast(x,y,clr,buff)
	For di=-1 To 1
		For dj=-1 To 1
			cx = x+di
			cy = y+dj
			If cx>=0 And cy>=0 And cx<maxw And cy<maxh
			    cc = ReadPixelFast(cx,cy,buff) And $00FFFFFF
			    ;DebugLog cc
				If cc=0
					PaintFast(buff,cx,cy,clr,maxw,maxh)
				EndIf
			EndIf
		Next
	Next
	
End Function

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

Function BlurBuffer(buff,width,height,strenght)

	Dim pixmap(width,height)
	
	For i=0 To width-1
		For j=0 To height-1	
			pixmap(i,j)=ReadPixel(i,j,buff)	
		Next
	Next
	
	For i=0 To width-1
		For j=0 To height-1
			cnt=0
			r=0
			g=0
			b=0
			For di=-strenght To strenght
				For dj=-strenght To strenght
					ci = i+di
					cj = j+dj
					
					If ci>=0 And ci<width And cj>=0 And cj<=height
						c = pixmap(ci,cj)
						r=r+RGBR(c)
						g=g+RGBG(c)
						b=b+RGBB(c)
						cnt=cnt+1
					EndIf
				Next
			Next
			
			WritePixel(i,j,RGB(r/cnt,g/cnt,b/cnt),buff)
		Next
	Next
	
End Function

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

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

Function RGBB(v)
	Return v And $FF
End Function
(Offline)
 
Ответить с цитированием
Эти 7 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
ABTOMAT (05.08.2008), Android (05.08.2008), ffinder (05.08.2008), h1dd3n (19.11.2008), newman (06.08.2008), Randomize (14.01.2010), SBJoker (05.08.2008)
Старый 05.08.2008, 17:58   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

АХАХАХ жжош нереально

Кстати:


x# = 256 + Sin(t-90) * r*(220-(steps*4))
y# = 450 - Cos(t-90) * r*(230-(steps*4))


Синус альфа + 90 = косинус альфа
Косинус альфа + 90 = синус альфа

то есть этот же код можно математически оптимизировать:

x# = 256 + Cos(t) * r*(220-(steps*4))
y# = 450 - Sin(t) * r*(230-(steps*4))

__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена


Последний раз редактировалось ABTOMAT, 05.08.2008 в 18:08.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (06.08.2008)
Старый 05.08.2008, 19:04   #3
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

жжош камрад.
(Offline)
 
Ответить с цитированием
Старый 05.08.2008, 20:53   #4
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

боян
__________________
(Offline)
 
Ответить с цитированием
Старый 05.08.2008, 22:41   #5
Android
Бывалый
 
Регистрация: 29.03.2007
Сообщений: 662
Написано 199 полезных сообщений
(для 448 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

ЖЕСТЬ! +1 )))
(Offline)
 
Ответить с цитированием
Старый 05.08.2008, 23:05   #6
newman
Бывалый
 
Регистрация: 20.11.2007
Сообщений: 663
Написано 145 полезных сообщений
(для 176 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

Сообщение от dimanche13 Посмотреть сообщение
боян
+1

Вроде бы на булке это уже выкладывали... Но это лучше
(Offline)
 
Ответить с цитированием
Старый 05.08.2008, 23:14   #7
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

Сообщение от newman Посмотреть сообщение
+1

Вроде бы на булке это уже выкладывали... Но это лучше
Холег и выкладывал
(Offline)
 
Ответить с цитированием
Старый 05.08.2008, 23:14   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

я искал свою тему! но не нашел. она пропала. это все происки минздрава.
(Offline)
 
Ответить с цитированием
Старый 05.08.2008, 23:20   #9
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

Сообщение от HolyDel Посмотреть сообщение
я искал свою тему! но не нашел. она пропала. это все происки минздрава.
Неужто и туда масоны пробрались? О_О
(Offline)
 
Ответить с цитированием
Старый 05.08.2008, 23:25   #10
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

Да-да-да, это масоны и они мешают нам разводить коноплю!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 06.08.2008, 05:59   #11
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

На улице лето - пляж, пиво, девачки, а оне тут хформулы выводять...
Вот будете старые и больные - ишшо вспомните и будете волосы на жопе рвать, за бесцельно упущенные сиськи )
__________________
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо tormoz за это полезное сообщение:
Arles (03.10.2009), impersonalis (06.11.2013), newman (06.08.2008)
Старый 06.08.2008, 09:55   #12
newman
Бывалый
 
Регистрация: 20.11.2007
Сообщений: 663
Написано 145 полезных сообщений
(для 176 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

tormoz, а надо просто научиться совмещать .... Только вот не получается
(Offline)
 
Ответить с цитированием
Старый 06.08.2008, 10:15   #13
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

До бесцельно упущенных сисек ещё добраться нужно, а это уметь надо
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 06.08.2008, 11:19   #14
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

На улице лето - пляж, пиво, девачки, а оне тут хформулы выводять...
ы.. город, серость, слякоть, дожди.

Вот будете старые и больные - ишшо вспомните и будете волосы на жопе рвать, за бесцельно упущенные сиськи )
будем, причем при любом раскладе )))
(Offline)
 
Ответить с цитированием
Старый 06.08.2008, 11:53   #15
Spiderman
Знающий
 
Аватар для Spiderman
 
Регистрация: 28.07.2008
Адрес: Киев
Сообщений: 228
Написано 61 полезных сообщений
(для 191 пользователей)
Ответ: Тайна конопли 2 или (R = (1+sin(t))*(1-.9*abs(sin(4*t)))*(.9+.05*cos(200*t)))

А если заменить первые строки на такую комбинацию латиницы, то будет сердце:

Graphics3D 800,600,32,2
SetBuffer FrontBuffer()
t#=0
Dim pixmap(0,0)

Color 192,2,2
steps = 0

While(steps<50)
	t=t+0.2618;
      
      R# = (1+Sin(t))*(2-.2*Abs(Cos(d*t+t)))*(.2-.01*ATan(200*t)+.2)
		
	x# = 400 + Sin(t-90) * r*(220-(steps*4))
	y# = 100 - Cos(t-90) * r*(230-(steps*4))
__________________
Тяжела жизнь программиста: радость находки своего бага всегда омрачает осознание собственной тупости...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
newman (06.08.2008)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логово Тайна Конопли Leito Проекты на Blitz3D 115 27.12.2009 11:49
Сглаживание углов (Вопрос к специалистам) Flash 3D-программирование 7 30.05.2009 16:43
Формула конопли HolyDel Болтовня 14 05.11.2007 18:14
Поиск фалов ISKATEL 3D-программирование 6 17.07.2007 17:48


Часовой пояс GMT +4, время: 17:42.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com