Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

dobryj den, popytalas otkryt prikreplionnyj fail ctoby posmotret kak rabotaet, no mne ego ne pokazyvaet vydajet osibku. Pochemu?
Очень интересно! ии сайт крутой жалко что умирает(
У Вас число превысит максимальное число int. Можно использовать в Вашем случае uint, но лучше все переписать на double.
Добавление к программе строки glutReshapeFunc(changeSize); приводит к тому, что треугольник перестаёт совсем отрисовываться.
Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Скриншот к примеру
Среда программирования: 
Visual Studio 2012 Express
Статья по теме: 

Программа отображает Бассейны Ньютона, фракталы Ньютона — разновидность алгебраических фракталов.
Для отрисовки фрактала, нажать кнопку "Рисовать" по центру.

Код программы: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace ArtFractals
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
       struct Complex
        {
            public double x;
            public double y;
 
         };
 
       const int iter = 50;
       const double min = 1e-6;
       const double max = 1e+6;
 
 
       public void Draw(int mx1, int my1, Graphics g, Pen pen)
       {
           int n,mx,my;
           double p;
           Complex z, t, d = new Complex();
 
           mx = mx1/2;
           my = my1/2;
 
           for (int y = -my; y < my; y++)
               for (int x = -mx; x < mx; x++)
               {
                   n = 0;
                   z.x = x * 0.005;
                   z.y = y * 0.005;
                   d = z;
 
                   while ((Math.Pow(z.x, 2) + Math.Pow(z.y, 2) < max) && (Math.Pow(d.x, 2) + Math.Pow(d.y, 2) > min) && (n < iter))
                   {
                       t = z;
                       p = Math.Pow(Math.Pow(t.x, 2) + Math.Pow(t.y, 2), 2);
                       z.x = 2/3 * t.x + (Math.Pow(t.x, 2) - Math.Pow(t.y, 2)) / (3*p);
                       z.y = 2/3 * t.y * (1 - t.x / p);
                       d.x = Math.Abs(t.x - z.x);
                       d.y = Math.Abs(t.y - z.y);
                       n++;
                   }
                   pen.Color = Color.FromArgb(255, (n*9) % 255, 0, (n*9) % 255);
                   g.DrawRectangle(pen, mx + x, my + y, 1, 1);
 
               }
       }
 
        private void Draw_Newton_fractal(object sender, EventArgs e)
        {
            //Создаем перо цвета - Черный(Black)
            //Толщина - 1 пиксель:
            Pen myPen = new Pen(Color.Black, 1);
            //Объявляем объект "g" класса Graphics и предоставляем
            //ему возможность рисования на pictureBox1:
            Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
            //Вызов функции отрисовки фрактала
            //int mx =1026, my = 428;
            int mx = pictureBox1.Width, my = pictureBox1.Height; 
 
           Draw(mx, my, g, myPen);
        }
 
        private void Picturebox(object sender, EventArgs e)
        {
 
        }
 
    }
}

Прикрепленный файлРазмер
Sobolenko_NewtonFract.rar53.49 кб