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

Вход на сайт

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

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

Демо JavaScript: 

Вращение:

<canvas width = "600" height = "600"></canvas><br>
<b>Вращение:</b>
<input type = "range" min = "-10" max = "10" step = "0.00001" value = "0" id = "degY" oninput = "update()"><br>

<script>
	//3. Пирамида перед кубом
	var canvas = document.querySelector("canvas");
	var ctx = canvas.getContext("2d");
	ctx.translate(canvas.width/2, canvas.height/2);
	class Vector2d{ 
		constructor(x, y){
			this.x = x;
			this.y = y;
		}
		move(mx, my){
			let x = this.x + mx;
			let y = this.y + my;
			return new Vector2d(x, y);
		}
		scale(w){

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

<canvas height="600" width='600' id='cnvs'></canvas><br />	
<script>	
var canvas = document.getElementById("cnvs"), ctx = canvas.getContext("2d");
var ang90 = Math.PI / 2; // Угол поворота на 90 градусов
var ang45 = Math.PI / 4; // Угол поворота на 45 градусов
var ang30 = Math.PI / 6; // Угол поворота на 30 градусов
var animAngle = ang90;
var dDeg = 0.002;
 
function play()
{
    draw();
    update();
    requestAnimationFrame(play);
}
 
function update()
{
    animAngle -= dDeg;
    if(animAngle < -ang90)dDeg *= -1;

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

<canvas height="600" width='600' id='cnvs'></canvas><br />		 	
<input type="button" onclick="draw()" value="Start">
</canvas>
<script>		
var canvas = document.getElementById("cnvs"), ctx = canvas.getContext("2d");
var ang90 = Math.PI / 2; // Угол поворота на 90 градусов
var ang45 = Math.PI / 4; // Угол поворота на 45 градусов
var ang30 = Math.PI / 6; // Угол поворота на 30 градусов
 
var Point = function(x, y) // Конструктор для точки
{
    this.x = x;
    this.y= y;
}
 
function drawLine(a, b) // Рисование линии
{ 
    ctx.moveTo(a.x, a.y);

Демо JavaScript: 

		<script>
			var ctx, canvas;
			var xc1, xc2, xc3;
			var yc1, yc2, yc3;
			var iter;
 
			//анимирующая функция, реализуемая для всех браузеров
			window.requestAnimFrame = (function(){
			    return  window.requestAnimationFrame       || 
				    window.webkitRequestAnimationFrame || 
				    window.mozRequestAnimationFrame    || 
				    window.oRequestAnimationFrame      || 
				    window.msRequestAnimationFrame
			})();
 
			//функция, запускающаяся при загрузке станицы
			window.onload = function() {

Демо JavaScript: 

<canvas id="canv" width="500" height="500" style="border: 1px solid black"></canvas>
		<script>
			let ctx = document.getElementById('canv').getContext('2d');
 
			let tn = Math.tan(Math.PI / 3), // тангенс и косинус угла в 60 градусов
				cs = Math.cos(Math.PI / 3);
 
			let x = [], y = [], tmpx = [], tmpy = []; // массивы, в которых хранятся координаты точек пересечения внутренних линий со сторонами треугольника
 
			// трегольник

Демо JavaScript: 

<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, 300);
			ctx.fillStyle = "green";
			ctx.fillRect (0, 300, 500, 500);
			ctx.stroke ();
 
			let score = 0; // переменная, хранящая кол-во попаданий в быка

Демо JavaScript: 

Построение функции, проходящей через заданные точки, с помощью полинома Ньютона. Функция строится при добавлении новой точки с помощью клика.

Демо JavaScript: 

При нажатии на кнопку "Нарисовать" строится функция, проходящая через точки, заданные кликом мыши.