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

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

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

var angle;
var check;
window.requestAnimFrame = (function(){
    return  window.requestAnimationFrame       || 
            window.webkitRequestAnimationFrame || 
            window.mozRequestAnimationFrame    || 
            window.oRequestAnimationFrame      || 
            window.msRequestAnimationFrame
})();
window.onload =function(){//начальная отрисовка
	var ctx = document.getElementById("paint").getContext("2d");
	angle=0;
	check=0;
	ctx.translate(250,250);
	ctx.beginPath();
	ctx.fillStyle="blue";
	//левый верхний круг

Демо JavaScript: 

 
		<canvas width = "500" height = "500" id = "paint"></canvas>
		<script>
		var x1,y1;
var x2,y2;
var check;
var check2;
window.requestAnimFrame = (function(){
    return  window.requestAnimationFrame       || 
            window.webkitRequestAnimationFrame || 
            window.mozRequestAnimationFrame    || 
            window.oRequestAnimationFrame      || 
            window.msRequestAnimationFrame
})();
window.onload =function(){
	x1=0;
	y1=0;
	x2=0;
	y2=0;
	check=0
	check2=0;
	Animation();
}
function Animation(){

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

//длина и ширина сanvas

<html>
	<head>
		<meta charset="utf-8"/>
	</head>
	<body>
		<input type = "text" id = "text" value = "1" size = "3"></input>
 
		<input type = "button" value = "Draw" onclick = "Click()"></input> 
		</br>
 
		<canvas id = "paint" width = "400" height = "400"> //длина и ширина сanvas
		<script>
			var ctx, canvas, h, w;
 
			var LastX, LastY;
 
			function Drawing(dx, dy)//функция отрисовки линии
			{
				ctx.beginPath();
				ctx.moveTo(LastX, LastY);
				ctx.lineTo(LastX + dx, LastY + dy);
				ctx.closePath();

Демо JavaScript: 

Для интерполяции заданной функции необходимо выбрать узлы, через которые будет проходить многочлен Нютона. Необходимо выбрать минимум 3 точки, нажав на левую кнопку мыши (не обязательно нажимать на сам график функции), и нажать кнопку "Старт".

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var imageData;
let x = new Array(canvas.width);
let fx = new Array(canvas.height);
// Массив, через точки которого будет построен ногочлен Ньютона
let xMouse = [];
// Сдвиг координат
let offset = 300;

Статья по теме: 
Демо JavaScript: 
fractal
index.html

<!doctype html>
<html lang = "en">
	<head>
		<title> fractal </title>
        <meta charset = "utf-8">
        <script src = "script.js" defer></script>
	</head>
 
	<body>
		<div id = "main">
			<canvas id = "canvas" width = "500" height = "500"></canvas>
			<div id = "menu">
				<span> length </span>
				<label>
					<input id = "length" type = "number" size = "3" min = "1" max = "5000" value = "10">
				</label>
				<span> factor </span>
				<label>
					<input id = "factor" type = "number" size = "3" min = "1" max = "5000" value = "10">
				</label>
				<span> power </span>
				<label>
					<input id = "power" type = "number" size = "3" min = "1" max = "5000" value = "2">
				</label>
				<span> step</span>
				<label>
					<input id = "step" type = "number" size = "3" min = "1" max = "5000" value = "1">
				</label>
				<button id = "start"> Select </button>
			</div>
		</div>
	</body> 
</html>

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

var ctx, canvas, h, w, x0, y0, k;
 
			function Line(x1, y1, x2, y2){ //прорисовка линии
 
				ctx.beginPath();
				ctx.moveTo(x1, y1);
				ctx.lineTo(x2, y2);
				ctx.closePath();
				ctx.stroke();
 
			}
 
			function horizontal(x, y){ //горизонтальные линии
 
				Line(x, y, x+k/4, y);
				Line(x+k/4, y+k/4, x+k/4+k/4, y+k/4);
				Line(x+k/4+k/4, y-k/4,x+k-k/4, y-k/4);
				Line(x+k-k/4, y, x+k, y);
				Line(x+k/4, y, x+k/4, y+k/4);
				Line(x+k/4+k/4, y+k/4, x+k/4+k/4, y-k/4);
				Line(x+k-k/4, y-k/4, x+k-k/4, y);
 
			}
 

Демо JavaScript: 

<!doctype html> 
<html lang="en">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
		<title>Fire</title>
		<style type="text/css">
			body {
				background-color: #000000;
				margin: 0px;
			}
			canvas {
				width: 650px;
				height:650px;
				display: block;
			}
		</style>
	</head>
	<body>	
		<canvas id='fire' width='650' height='650'></canvas>
		<script type="text/javascript">
			// Параметры детализации
			var r = 8;

Демо JavaScript: 

			let ctx = document.getElementById('canv').getContext('2d');
			let dot_x, dot_y, sec_x1, sec_x2, sec_y1, sec_y2; // координаты точки и концов отрезка соответственно
			let x1, x2, x3, y1, y2, y3; // координаты векторов, построенных на сторонах треугольника
			let out; // расстояние между точкой и отрезком
			let hx, hy, ax, ay; // координаты тоски пересечения перпендикуляра с отрезком и 
			let cnt = 0; // флаг, считающий номер нажатия на канвас
 
			// функция обработки нажатия на канвас
			function storeGuess(event) {

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

Задача: для заданных n точек на плоскости найти пару точек, расположенных ближе друг к другу с помощью алгоритма "Разделяй и властвуй".

Демо JavaScript: 

<script>
		 var ctx=document.getElementById('paintbox').getContext('2d');
 
			function draw(x1 , y1 , x2 , y2 , dep){
				if(dep == 0){
					randomColor();//изменение цвета
					ctx.fillRect(x1 , y1 , 1 , 1);
					ctx.fillRect(x2 , y2 , 1 , 1);
					return;
				}
 
				var dx = (x2 - x1)/2;
				var dy = (y2 - y1)/2;
				                             //смещение по х и у
				var	x_tmp = x1 + dx - dy ;
				var y_tmp = y1 + dy + dx;
 
 
			draw(x1 , y1 , x_tmp , y_tmp , dep - 1);	
			draw(x2 , y2 , x_tmp , y_tmp , dep - 1);	
 
			}