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

Вход на сайт

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

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

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

Очень интересно! ии сайт крутой жалко что умирает(
У Вас число превысит максимальное число int. Можно использовать в Вашем случае uint, но лучше все переписать на double.
Добавление к программе строки glutReshapeFunc(changeSize); приводит к тому, что треугольник перестаёт совсем отрисовываться.
Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.
Спасибо за статью. Я не Ваш студент. Но мне она помогла написать функцию для Канторова множества на Python для черепашки: import turtle def kanter(x, y, d):     if d > 1:         turtle...

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

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

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