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

Вход на сайт

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

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

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

Спасибо за реализацию, она действительно быстрая. Но не все линии отрисовывает в нужную сторону... Необходимо добавить проверку для случая X-линии if(y1 "<" y0) grad=-grad; и аналогично для Y-линии if(x1 "<" x0) grad=-grad; P.S. На...
Отличные уроки(учу GL по ним), только в renderScene нужно добавить очистку буфера цвета и буфера глубины. При изменении размеров треугольники размножаются)
как исправить это , сделал все по инструкции
Timer1 - выдает ошибку. Использовал IdleTimer1, работает! unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, OpenGLContext, GL, GLU; type { TForm1 } TForm1 =...
в коде присутствуют ошибки! // Считываем координаты procedure TForm1.getCoords(Sender: TObject); var j1:longint; begin n:= StrToInt(Edit2.Text); //число точек s1:=Edit1.Text; s2:=''; i := 1; j:=1; k:=0...

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

Яндекс.Метрика Рейтинг@Mail.ru

Windows

Скриншот к примеру
Среда программирования: 
Visual Studio 2013
Статья по теме: 

Построить фрактал папоротник Барнсли, используя библиотеку System.Drawing.
Создаем проект Windows Form, на форму добавляем PictureBox
(FernPictureBox, размер - 800х640)

Скриншот к примеру
Среда программирования: 
Visual Studio 2013
Статья по теме: 

Построить фрактал Квазиклевер, в котором вместо окружностей за единицу берутся ромбы.
После запуска программы, необходимо нажать на появившееся окно для отрисовки фрактала.

Скриншот к примеру
Среда программирования: 
Visual Studio 2013
Статья по теме: 

Задача - построить фрактал Серпинского(треугольник и ковер).
На форме находятся 2 кнопки: Triangle и Carpet.
При клике на кнопку Triangle получаем изображение фрактала треугольника,
при клике на кнопку Carpet получаем изображение фрактала ковра.
Количество уровней по умолчанию составляет 5(переменная Level).

Скриншот к примеру
Среда программирования: 
Visual Studio 2013
Статья по теме: 

Задача — написать программу, которая будет строить изображение Канторова множества.

Для построения, необходимо в поле для ввода ввести значение длины изначального отрезка и нажать кнопку "Построить".

Скриншот к примеру
Среда программирования: 
Code::Blocks 13.12
Статья по теме: 

Для того, чтобы началось построение треугольника, необходимо кликнуть по трем произвольным точкам внутри окна. Далее программа строит треугольник с вершинами в данных точках (назовем вершины: A, B, C). Треугольник заполняется точками по следующему алгоритму:
1) Случайно выбирается одна из вершин (A, B, C) как текущая точка.
2) Рисуется круг малого радиуса с центром в текущей точке.
3) Случайно выбирается одна из вершин (A, B, C) и текущая точка перемещается в направлении случайно выбранной вершины на половину расстояния до вершины.

Скриншот к примеру
Среда программирования: 
Borland Delphi 7.0

Демонстрация триангуляции многоугольника.
Рисуем многоугольник, разделяем его на треугольники.
Для запуска программы достаточно запустить файл .exe.

Скриншот к примеру
Среда программирования: 
CodeBlocks 13.12
Статья по теме: 

Вход : множество точек, представляющих полигон в порядке обхода вершин в любом направлении.
Результат : определение типа полигона (выпуклый; не выпуклый).

Скриншот к примеру
Среда программирования: 
CodeBlocks 13.12
Статья по теме: 

Вход : множество отрезков, заданных координатами концов отрезков.
Выход : множество отрезков, отсортированных на пересекающиеся и не пересекающиеся.

Скриншот к примеру
Среда программирования: 
Borland Delphi 7.0

Алгоритм:
1) Берем произвольно заданную прямую и делим ее пополам.
2) Потом сгибаем ее так, чтобы полученный угол равнялся 90 градусам.
3) Для полученных отрезков выполняем пункты 1)-2) до тех пор, пока указанный счетчик не станет равен нулю.
4) Как только счетчик станет равен нулю, рекурсивно строим драконову кривую.

Скриншот к примеру
Среда программирования: 
Lazarus

Определить точку пересечения двух отрезков. Решение состоит из нахождения векторного произведения function VM(), определения факта пересечения 2 отрезков function LC(), составления уравнений прямых procedure PtL() и определения точки пересечения function LtP(), собственно.