|
PureBasic Мощный кросс-платформенный язык среднего уровня на основе BASIC. Подходит для решения широкого круга задач. |
27.01.2007, 02:21
|
#16
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Fractals
как уже написала Chrono, ~ - инвертирует биты. ето есть и в блитз и в С++. для чисел со знаком как правило число меняется на противоположное по модулю число и еще -1. например ~6=-7 ;~-7 = 6;~0 = -1; и т.д.
например
для данного случая ~a*~b равносильно (a+1)*(b+1). Хотя второе будет выполняться медленнее.
ПС. За всю мою девелоперскую жизнь ета операция ни разу ни пригодилась.
/Chrono Syndrome: Еще раз напишешь "Chrone", убью ...
|
(Offline)
|
|
27.01.2007, 10:20
|
#17
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
Re: Fractals
я сначала не понял про что вы говорил, потом после внимательного прочтения понял что это про биты
|
(Offline)
|
|
27.01.2007, 12:17
|
#19
|
|
Re: Fractals
Красиво... Надо будет как-нибудь попробовать соорудить что-то подобное...
|
|
|
27.01.2007, 14:21
|
#20
|
|
Re: Fractals
для данного случая ~a*~b равносильно (a+1)*(b+1). Хотя второе будет выполняться медленнее.
Да я там, честно говоря, эти операции уже попросту от балды лепила ...
Нашла сегодня еще один красивый график:
V = (Y - 300) * (X - 400) * 7
Plot(X, Y, V)
|
|
|
27.01.2007, 19:16
|
#21
|
Элита
Регистрация: 02.10.2005
Сообщений: 1,789
Написано 132 полезных сообщений (для 252 пользователей)
|
Re: Fractals
Джимон за сссылки канешна спс, но чё-то помимо слов я от тебя ниче не заметил
|
(Offline)
|
|
10.11.2007, 06:41
|
#22
|
Оператор ЭВМ
Регистрация: 26.10.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Fractals
InitSprite() : InitKeyboard()
OpenWindow(0, 0, 0, 400, 400, "--Fractal Test--", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
MessageRequester("Кнопги", "I - показать FPS, счётчик и формулу" + #CRLF$ + "F - перейти к отображению в полном экране (800x600)" + #CRLF$ + "W - перейти к отображению в окне" + #CRLF$ + "Esc - убить прожку")
Global Width = WindowWidth(0) - 1, Height = WindowHeight(0) - 1, X, Y, link.l = 10, full_screen.b = 0, xxx.l = 0, str.s = "", f.l = 0, t.l = GetTickCount_()
OpenWindowedScreen(WindowID(0), 0, 0, Width + 1, Height + 1, #False, 0, 0)
SetActiveWindow(0)
LoadFont(0, "Comic Sans MS", 10, #PB_Font_Bold)
LoadFont(1, "Tahoma", 7)
CreateImage(0,200,200)
CreateSprite(0, 400, 400)
Procedure d(d.l)
If IsScreenActive()
str = "fps: " + StrD(f / ((GetTickCount_() - t) / 1000), 1) + " * link = " + StrQ(link)
If GetTickCount_() - t = 10000
t = GetTickCount_()
f = 0
EndIf
ResizeImage(0, 200, 200)
StartDrawing(ImageOutput(0))
Box(0, 0, 200, 200)
GetCursorPos_(cmxy.POINT)
For X = 20 To 180
For Y = 20 To 180
;--Fractal[--;
;delta = Tan(x) * Tan(y) * ATan((x * y) * #PI)
one_of = Sin(Sqr( ((x + Log10(y / #PI / 100000000)) * link) + ((y + Log10(x / #PI / 100000000)) * (link / #PI)) )) * link
xxx = one_of * (ATan(link + (link / #PI)) + #PI)
Plot(x, y, xxx)
;--]Fractal--;
Next Y
Next X
StopDrawing()
FlipBuffers(2) : ClearScreen(Sqr(Sin(link / #PI) * #PI * Log(link / 360)))
ResizeImage(0, 400, 400)
If IsScreenActive()
StartDrawing(SpriteOutput(0))
DrawingMode(#PB_2DDrawing_Transparent)
DrawImage(ImageID(0), 0, 0)
If GetAsyncKeyState_(#VK_I)
DrawingFont(FontID(0))
DrawText(10, 10, str, #White)
DrawingFont(FontID(1))
DrawText(10, 365, "Sin(Sqr( ((x + Log10(y / #PI / 100000000)) * link) + ((y + Log10(x / #PI / 100000000))", #White)
DrawText(10, 375, " * (link / #PI)) )) + ((y + Log10(x / #PI / 100000000)) * (link / #PI)) )) * link", #White)
DrawText(10, 385, " * (ATan(link + (link / #PI)) + #PI) - формула, которая рисует всё это...", #White)
EndIf
DrawingMode(#PB_2DDrawing_Outlined)
Box(1, 1, SpriteWidth(0) - 1, SpriteHeight(0) - 1, RGB(30,10,5))
StopDrawing()
DisplaySprite(0, (Width / 2) -(SpriteWidth(0) / 2), (Height / 2) -(SpriteHeight(0) / 2))
EndIf
link + 1
ExamineKeyboard()
If KeyboardPushed(#PB_Key_F) And full_screen = 0
SetRefreshRate(75)
CloseScreen() : CloseWindow(0) : Delay(100) : OpenScreen(800, 600, 32, "--Fractal Test--") : Delay(100) : full_screen = 1 : Width = 800 : Height = 600
CreateSprite(0, 400, 400)
EndIf
If KeyboardPushed(#PB_Key_W) And full_screen = 1
CloseScreen()
OpenWindow(0, 0, 0, 400, 400, "--Fractal Test--", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
OpenWindowedScreen(WindowID(0), 0, 0, Width + 1, Height + 1, #False, 0, 0) : full_screen = 0 : Width = 400 : Height = 400
SetActiveWindow(0)
CreateSprite(0, 400, 400)
EndIf
If KeyboardPushed(#PB_Key_Escape)
If IsSprite(0) : FreeSprite(0) : EndIf
If IsImage(0) : FreeImage(0) : EndIf
End
EndIf
If link >= 1000000 : link = 10 : EndIf
f + 1
Delay(d)
EndIf
EndProcedure
While WindowEvent() <> #PB_Event_DataReceived : d(0) : Delay(1) : Wend
эээ... вод, написал вместе с "балдой" )
|
(Offline)
|
|
12.11.2007, 12:54
|
#23
|
Оператор ЭВМ
Регистрация: 26.10.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Fractals
он живой!!! написан мной...
|
(Offline)
|
|
14.11.2007, 11:57
|
#24
|
|
Re: Fractals
Сообщение от ResX
он живой!!! написан мной...
|
Исходник ?
|
|
|
14.11.2007, 23:43
|
#25
|
Оператор ЭВМ
Регистрация: 26.10.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Fractals
Сообщение от Chrono Syndrome
Исходник ?
|
очень хочется? там же формула приведена lin + 0.0002 : link + 1 каждый кадр
|
(Offline)
|
|
18.11.2007, 07:07
|
#26
|
Оператор ЭВМ
Регистрация: 26.10.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Fractals
вод ещё один )
|
(Offline)
|
|
18.11.2007, 18:39
|
#27
|
|
Re: Fractals
Сообщение от ResX
очень хочется? там же формула приведена lin + 0.0002 : link + 1 каждый кадр
|
Да не, не очень. Просто не совсем понятно, зачем нужны бесполезные проги без исходников.
|
|
|
20.11.2007, 17:24
|
#28
|
Оператор ЭВМ
Регистрация: 26.10.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Fractals
Сообщение от Chrono Syndrome
Да не, не очень. Просто не совсем понятно, зачем нужны бесполезные проги без исходников.
|
Во всём есть смысл
|
(Offline)
|
|
21.11.2007, 18:41
|
#29
|
|
Re: Fractals
Сообщение от ResX
Во всём есть смысл
|
Ес-но. Но, честно говоря, очень не хотелось бы, чтобы этот смысл заключался в полевых испытаниях нового вируса собственной конструкции или банальном рапространении трояна... Посему нормальные люди не торопятся качать .EXE'шник с одной строчкой малограмотного описания от незнакомого человека. Но это я так, к слову.
|
|
|
22.11.2007, 00:50
|
#30
|
Оператор ЭВМ
Регистрация: 26.10.2007
Сообщений: 31
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Fractals
ну-у-у... можно, как бы, доверять код выше есть. я его изменил малость...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:14.
|