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

Вход на сайт

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

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

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

Пиривет сайт с работой закладчиком Работа курьером Значение финансов в повседневной жизни известно каждому, но что делать, если зарплата на постоянной работе невелика или ее вообще нет? Если у Вас нет профессии или возникли иные сложности, то...
Модные тренды медицинской одежды - новая эра стиля и комфорта в 2024 году https://fkmed.r... C нами Вы убедитесь: качественная, комфортная и модная медицинская одежда существует! В каталоге на сайте представлена медицинская одежда для врачей и...
14 070 руб https://www.eco... 38 900 руб https://www.eco... и выберите из списка ниже: Купить в 1 клик https://www.eco... По типу двигателя снегоотбрасыватель может быть: Купить в 1 клик https://www.eco...
Все изделия хорошо сидят на фигуре и отличаются высокой степенью комфортности https://fkmed.r... Комбинированные ткани с применением хлопка и синтетики - это оптимальный вариант для пошива формы https://fkmed.r... Специальная пропитка...
53 990 руб https://www.eco... Экономия 4 160 руб https://www.eco... Купить в 1 клик https://www.eco... Главными элементами устройства являются двигатель, металлический или пластиковый корпус и лопасти для уборки снега https://www.eco... Тип...

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

Рейтинг@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++
Статья по теме: 

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

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

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