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

Вход на сайт

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

Построения
на плоскости (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

C++

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

Итак, начнем реализовывать задачи, поставленные в статье. Я опишу только ключевые моменты, все остальное вы найдете в исходниках.
Я буду использовать графическую библиотеку SFML версии 2.3.2 и некоторые элементы библиотеки OpenGL (все необходимое уже включено в SFML).

Для моделирования частицы я создал класс Particle

#include <iostream>
#include <SFML\Graphics.hpp>
#include <math.h>
#include <vector>
#pragma once
using namespace std;
 
class Particle
{
private: vector <sf::Vector2f> forces; // Скорости, которые воздействуют на частицу

Скриншот к примеру
Среда программирования: 
Eclipse Mars.2(4.5.2)

Задача: определить, принадлежит ли точка многоугольнику.
Для запуска приложения на Linux достаточно открыть файл is_in_polygon(см. архив во вложении), предварительно сделав его исполняемым(chmod +x либо Свойства-Права-Разрешить исполнять как программу). После запуска появится белое окно, в заголовке которого отображаются координаты последнего нажатия левой кнопки мыши(начальные значения x = 0, y = 0). По щелчку левой кнопки мыши в произвольном месте окна на месте нажатия рисуется точка и проводится линия из предыдущей точки в новую(если указаны хотя бы 2 точки), таким образом можно построить любой многоугольник. При нажатии клавиши Enter завершается построение многоугольника(многоугольник нельзя будет больше изменить), последняя точка соединяется с первой.

Скриншот к примеру
Среда программирования: 
Eclipse Mars.2(4.5.2)
Статья по теме: 

Задача: построить алгебраический фрактал — биоморф. Биоморф, изображенный на скриншоте, получен путем многократного возведения в куб числа z = 0.01 • (x + iy) по формуле
z(n) = z(n - 1)3 + constant,
где x и y пробегают множество всех точек, принадлежащих окну, constant = 1.07 + 0.0001 • i.

Скриншот к примеру
Среда программирования: 
Eclipse Mars.2(4.5.2)

Задача: Используя алгоритм триангуляции разбить невыпуклый многоугольник на треугольники. Закрашивать треугольники, полученные при разбиении, через один. Первый закрашиваем, второй - нет и т.д.
Алгоритм триангуляции, рассматриваемый в данной статье, основывается на том, что n-угольник может быть разбит на n-2 треугольника путем проведения n-3 хорд. Для удобства реализации дополнительно были введены классы List(кольцевой двусвязный список) и Node(узел списка).

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

Построить пирамиду Серпинского.
Увеличить или уменьшить уровень вложенности + и - соответственно.
Клавиша P - отрисовываем закрашенную или только ребра.