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

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

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

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

У меня проблема вот с этим: gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);. Вылезает ошибка: CS1061 "object" не содержит определения "GL_COLOR_BUFFER_BIT", и не удалось найти доступный метод расширения "GL_COLOR_BUFFER_BIT",...
Большое спасибо. Единственный код который прошел без каких либо ошибок. Ура!!!
Скажите пожалуйста, подскажите алгоритм по которому по заданным точкам можно определить тип многогранника, скажем это куб или прямоугольный параллелепипед. Нашел теорию по этим фигурам: https://www.mat... https://www.mat... Акцентировать внимание...
Всем у кого не работает. файл wizard.script Ещё одно упоминание Glut32 в строке "if (!VerifyLibFile(dir_nomacro_lib, _T("glut32"), _T("GLUT's"))) return false;" меняем на "if (!VerifyLibFile(dir_nomacro_lib, _T("freeglut"), _T("GLUT's"))) return...
Не получается, емаё

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

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

JavaScript

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

Программа демонстрирует построение поверхности, заданной параметрически, с удалением невидимых граней по методу плавающего горизонта и освещение по Ламберту.

Скриншот к примеру
Среда программирования: 
Любая
Статья по теме: 

В программе строится 3D график функции, проецированием точки на экран по формулам центральной проекции, удаляются невидимые грани по алгоритму плавающего горизонта, а также происходит освещение источником света.Используется модель освещения Ламберта.
При нажатию на кнопку "Rotate" график вращается по оси X

Демо JavaScript: 


Сдвиг по x
Сдвиг по y
Поворот
Масштаб

Вращение графика функции sin(x)*sin(x)*cos(y) по оси X, с удалением невидимых точек.

<!DOCTYPE html>
<html>
<body>
 
<canvas id="myCanvas" width="600" height="600" style="border:1px solid #d3d3d3">
Your browser does not support the HTML5 canvas tag.</canvas>
 
 
<script>
	var c = document.getElementById("myCanvas");
        var ctx = c.getContext("2d");
 
        var p = {
            x: [],
            y: [],
            z: [],
        }
 
        var cnt = {
            x: [],
            y: [],
        }
 
        var itog = {
            x: [],
            y: [],
        }
 

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

В данном уроке будет предоставлен пример реализации "Жадного алгоритма триангуляции" на Python.

Начнём с установки Tkinter. Вводим в терминале или просто в командной строке:

pip install tkinter

После установки можно приступить к написанию кода. Сперва импортируем всё, что нам понадобится для работы:

from tkinter import *
from itertools import combinations
from math import sqrt
from collections import OrderedDict

Демо JavaScript: 

В алгоритме заливки используется алгоритм Брезенхема построения линии. Нажимайте левой кнопкой мыши по холсту, чтобы отметить вершины многоугольника. Нажмите колесиком мыши по холсту, чтобы залить многоугольник.
Алгоритм работает для любых простых многоугольников.

<canvas id="graph" width = "500px" height = "400px" style = "border: 1px solid black"></canvas>
<script>
var canvas = document.getElementById('graph');
var ctx = canvas.getContext('2d');
 
var Point = function(x, y) {
	this.x = x;
	this.y = y;
}
 

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

Цель: Показать работу алгоритма удаления невидимых граней выпуклого многогранника.
Краткое описание: Куб задан множеством из 6 граней. Вначале находятся нормали к граням, затем рассчитывается, какие из граней будут невидимы при отрисовке.
Для того, чтобы куб появился, нажмите ЛКМ и потяните мышку на canvas'е.

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

Программа демонстрирует построение шара, освещенного источником света. Используется модель освещения Ламберта.
По нажатию на кнопку "Старт" начинается построение.

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

Задача: построить триангуляцию Делоне для множества точек.
Описание работы программы:
С помощью нормального распределения генерируется 100 точек, принадлежащих области канваса.
Затем находится треугольник, содержащий все точки этого множества.
После чего каждая точка последовательно добавляется в триангуляцию с необходимыми перестроениями триангуляции.

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

Данная программа получает на вход кол-во итераций от пользователя и строит фрактал Хопалонг.