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

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

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

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

Задача: Определить количество общих точек двух отрезков: нуль, одна или бесконечное множество.

Описание работы программы:

По щелчку левой кнопки мыши считываются координаты четырех точек (концов отрезков AB и CD) и, переведенные из экранной системы координат в декартову, добавляются в массив points. Для уменьшения количества проверок координаты сортируются таким образом, чтобы A была левее B, а C левее D.

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

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

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

Построить аттрактор Рёсслера. Все параметры находятся в функции roesslerFractal(). Итеративная функция построит график аттрактора с указанным количеством итераций cnt и положительными постоянными a, b, c.

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

Данная программа строит фрактал Gingerbread man. Он задается кусочно-линейным преобразованием:
xn + 1 = 1 - yn + |xn|
yn + 1 = xn

Главная функция запускает итеративную процедуру: вычисляет новые координаты по старым, выбирает цвет и ставит пиксель.

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

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

Демо JavaScript: 

<html>
	<head>
 
	</head>
	<body>
		<canvas id="canvas" width="500" height="500" style="border: 1px solid black" onclick="storeGuess(event)"></canvas>
		<script>
			let ctx = document.getElementById('canvas').getContext('2d')
			// отрисовка фона
			ctx.beginPath ()
			ctx.fillStyle = "blue"
			ctx.fillRect (0, 0, 500, 500)
			ctx.fillStyle = "green"
			ctx.fillRect (0, 300, 500, 500)
			ctx.stroke()
 
			let score = 0; // переменная, хранящая количество попаданий мышью по "ракете"

Демо JavaScript: 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Infinite Cheese</title>
    </head>
    <body>
    <canvas height="500" width="500" id="сanvas"></canvas>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/4.1.0/fabric.min.js"> 
</script>
        <script>
            var canvas = new fabric.Canvas('сanvas')
            var ctx = document.getElementById('сanvas').getContext('2d')
 
            var counterBites = 0
            const SPEEDUP = 20
            const BASESPEED = 1200

Демо JavaScript: 

<canvas id="paintbox" width="500" height="200"></canvas><br />
    <input type="button" onclick="start()" value="Пуск">
    <input type="button" onclick="stop()" value="Стоп">
 
<script>
  x=10;
  var ctx;
  ctx = document.getElementById('paintbox').getContext('2d');
 
function start(){
  Idint = setInterval(draw, 100);
}
function draw() {
  ctx.fillStyle = 'white';
  ctx.fillRect(x,10,50,50);
  x=x+3;
  ctx.fillStyle = 'blue';
  ctx.fillRect(x,10,50,50);
}
 
function stop() {
  clearInterval(Idint);
}
</script>

Статья по теме: 
Демо JavaScript: 

var canvas, ctx, h, w, n, x0, y0, it, len, s, s1, s2, arr = [];
 
			window.onload = function(){ // начальная функция
 
				canvas = document.getElementById("paint");
				ctx = canvas.getContext("2d");
				h = canvas.height;
				w = canvas.width;
				alert("Введите кол-во итераций в пределах от 10 до 23.")
				len = 1;
				x0 = 0;
				y0 = h;
 
			}
 
			function Click(){
				var str = document.getElementById("txt").value; // считываем кол-во итераций с текстового поля
				it = Number(str);
				s; 
				s1 = "1";
            			s2 = "0";

Статья по теме: 
Демо JavaScript: 

<script>
			var canvas, ctx, h, w, n, x = [], y = [], coords = [];
 
			window.onload = function(){ // начальная функция
 
				canvas = document.getElementById("paint");
				ctx = canvas.getContext("2d");
				h = canvas.height;
				w = canvas.width;
				alert("Введите координаты через запятую и пробел  (Например: 0, 0, 0, 100, 100, 100, 100, 0 ).")
 
			}
 
			function Click(){
				var str = document.getElementById("txt").value; // считываем координаты с текстового поля
 
				coords = str.split(", ");
				n = coords.length;
				x = [];