Форум программистов, компьютерный форум CyberForum.ru

Реализация алгоритма Мандельброта - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
vital792
1987 / 1259 / 57
Регистрация: 05.06.2010
Сообщений: 2,213
29.10.2010, 09:06     Реализация алгоритма Мандельброта #1
Знаю, этим уже давно никого не удивить, но я еще раз решил почтить память Бенуа Мандельброта простой коонсльной программой с реализацией всем известного его алгоритма
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "windows.h"
#include <conio.h>
 
int depth=2000;
 
int main(int argc, char* argv[])
{
    float cr, ci, zr, zi, tmp;
    HWND wnd=GetConsoleWindow();
    HDC dc=GetDC(wnd);
    int k;
 
    for(int n=1; n<10000; n+=100)
    {
        for(int i=-320;i<320;i++)
        {
            ci=((float)i)/320.0;
            for(int j=-380;j<160;j++)
            {
                cr=((float)j)/240.0;
                zi=zr=0.0;
                for(k=0;k<depth;k++)    
                {
                    tmp=zr*zr-zi*zi;
                    zi=2*zr*zi+ci;
                    zr=tmp+cr;
                    if (zr*zr+zi*zi>1.0E16) break;
                }
                if (k<depth)
                    SetPixel(dc, i+320, j+380, k*255*n);
                else SetPixel(dc, i+320, j+380, 10);
            }
        }
        if(_kbhit()) break;
    }
 
    while(!_kbhit()) ;
    return 0;
}
Функция SetPixel конечно очень медленная, но в данном случае это только плюс - позволяет все рассмотреть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2010, 09:06     Реализация алгоритма Мандельброта
Посмотрите здесь:

Реализация алгоритма C++
C++ Реализация алгоритма кодирования Шеннона-Фано
Реализация алгоритма Йена на С++ C++
C++ Реализация LCS алгоритма на с++
Реализация алгоритма RLE C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
st.ivan
23 / 3 / 2
Регистрация: 07.10.2010
Сообщений: 11
31.10.2010, 15:02     Реализация алгоритма Мандельброта #2
Красота! а можно еще че нибудь в этом же духе? Фракталов же много
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
31.10.2010, 15:15     Реализация алгоритма Мандельброта #3
А я упустил, что он ушёл из жизни... Вроде только недавно он выступал на какой-то научно-популярной конференции...
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
31.10.2010, 15:33     Реализация алгоритма Мандельброта #4
почему у меня не находит
C++
1
GetConsoleWindow
?
vital792
1987 / 1259 / 57
Регистрация: 05.06.2010
Сообщений: 2,213
31.10.2010, 16:56  [ТС]     Реализация алгоритма Мандельброта #5
Цитата Сообщение от PointsEqual Посмотреть сообщение
почему у меня не находит
Код C++1 GetConsoleWindow
?
это странно - я компилировал в visual studio проект win32 console...
В MinGW тоже работало, только чуть изменил инклуды:
C++
1
2
3
4
5
#define _WIN32_WINNT 0x0501
#include "windows.h"
#include <wincon.h>
#include <wingdi.h>
#include <conio.h>
и library
MinGW\lib\libgdi32.a
Yandex
Объявления
31.10.2010, 16:56     Реализация алгоритма Мандельброта
Ответ Создать тему
Опции темы

Текущее время: 18:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru