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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
dmal
7 / 7 / 1
Регистрация: 19.02.2013
Сообщений: 140
#1

Фракталы - C++

24.03.2013, 13:25. Просмотров 1260. Ответов 3
Метки нет (Все метки)

Нашел пример кода для рисования снежинки коха и чуть переделал. Но рисует он снежинку как на первом рисунке.
Как построить такую, как на втором рисунке?

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
40
class KochSnowflake{
    private:
       double t, x, y, p;
       long k;
       long itter;
 
    public:
      inline void Draw(int mx, int my, int rad, TImage *MyImage);
};
 
inline void KochSnowflake::Draw(int mx, int my, int rad, TImage *MyImage){
 
//mx - Ширина окна
//my - Высота окна
//rad - Ширина окна
 
  mx /= 4;       
  my /= 2;
  rad /= 2;
 
  itter = 50000;
 
  Randomize;
  x = 0.0;
  y = 0.0;
  for(k = 1; k <= itter; k++){
    p = random(2);
    t = x;
    if(p <= 0.5){
      x =  0.5 * x + 1 / (2 * pow(3, 0.5)) * y;
      y =  1 / (2 * pow(3, 0.5)) * t - 0.5 * y;
    }
    else{
      x = 0.5 * x - 1 / (2 * sqrt(3)) * y + 0.5;
      y = -1 / (2 * sqrt(3)) * t - 0.5 * y + 1 / (2 * sqrt(3));
    }
    MyImage->Canvas->Pixels[mx + int(rad * x)][my + int(rad * y)] = (TColor) RGB(150, 0, 100);
    MyImage->Canvas->Pixels[mx + int(rad * x)][my - int(rad * y)] = (TColor) RGB(150, 0, 100);
  }
}
0
Миниатюры
Фракталы  
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2013, 13:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Фракталы (C++):

фракталы - C++
Написать 3 программы, который реализую 3 вида фракталов: 1)стохастический фрактал 2)алгебраический фрактал 3) геометрический фрактал

Фракталы на с++ - C++
Всем доброе утро! Можно ли построить рандомный фрактал? Или фрактал в движении? Или меняющий цвета? Будет ли это красиво выглядеть...

Фракталы - C++
http://www.youtube.com/watch?v=n7JLHxBm0eY&amp;feature=relmfu Как это делают? Да и вообще возможно ли написать код для увеличения фрактала в...

Фракталы Остров Минковского - C++
Остров Минковского. Основа единичный квадрат. Генератор- ломаная с промежуточными точками: а) P1 (0,25; 0,25), P2 (0,75; 0,25) ...

Фракталы, turtle-метода - C++
Помогите, пожалуйста, найти хотя бы псевдокод этого метода

Перевод кода на с++ с паскаля. Фракталы: Кривая Коха - C++
Всем привет! Помогите пожалуйста перевести код с паскаля на с++. uses GraphABC; procedure Draw(x, y, l, u : Real; t : Integer); ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sovaz1997
CEO SOVAZ Corp.
380 / 226 / 2
Регистрация: 17.12.2011
Сообщений: 819
Записей в блоге: 1
Завершенные тесты: 1
24.03.2013, 14:11 #2
С помощью рекурсии
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
24.03.2013, 14:38 #3
Цитата Сообщение от dmal Посмотреть сообщение
p = random(2);
это что такое.
Есть подозрение, что оно и создаёт ассиметрию. Т.к. принимает значени от 0 до 2.
0
dmal
7 / 7 / 1
Регистрация: 19.02.2013
Сообщений: 140
24.03.2013, 15:22  [ТС] #4
Цитата Сообщение от sovaz1997 Посмотреть сообщение
С помощью рекурсии
а подробнее можно?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2013, 15:22
Привет! Вот еще темы с ответами:

Фракталы - Lisp
Всем привет! А что это мы до сих пор ни одного фрактальчика не закодили. Надо восполнить это пробел. :) (defun C:PythagorasTree (/ osmode...

фракталы - Pascal ABC
помогите пожалуйста! uses Crt,GraphABC; var Gd,Gm,dL,du: integer; procedure VECTOR( L, ugol: integer); {Отрезок длиной L...

Фракталы - Delphi
Здравствуйте вот такое задание я получил на индивидуальной основе&quot;Программирование фракталов с помощью рекурсивных графических алгоритмов&quot;,...

Фракталы - OpenGL
Добрый день! Подскажите пожалуйста, что не так в моей работе. Вроде все правильно, но при отрисовки не чего нету. //...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.03.2013, 15:22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru