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

Вход на сайт

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

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

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

Рекурсия присутствует?
И где эти прикрепленные файлы?
Я код на C++ набрал сам. Строил кривую Безье, но "прилипал" к нулю. То есть я задаю точки далеко от нуля, а он строил из нуля, а потом только обходил предложенные точки. Потом я нашёл Ваш сайт и эту статью. Оказалось, что я забыл возвести t в...
просто я не так понял, здесь мы вращаем точки куба что вращает сам куб. Мне нужно вращать просто 3д объект , данный способ не подходит
Задавайте объект в мировых координатах. Вращайте его относительно мировой системы координат. А при отрисовке преобразуйте в экранные координаты. Посмотрите пример преобразования в экранные координаты.

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

Рейтинг@Mail.ru Яндекс.Метрика
Язык программирования: 
Javascript
Среда программирования: 
bonsai.js + JavaScript + HTML

<!DOCTYPE html>
<html>
<head>
	<script src="bonsai-0.4.1.min.js"></script>
</head>
<body>
	<div id="scena"></div> 
	<script>
	  bonsai.run(document.getElementById('scena'), { 
		code: function() {
 
			function draw() { //опишем функцию отрисовки одной звезды
 
			  var color = bonsai.color('yellow').randomize(); //выбираем случайный 
			//оттенок желтого цвета (отклонение случайное, поэтому получаем
			//разные цвета, а не только желтыех тонов)
 
			  var star = new Star(100, 100,  Math.random() * 10 + 20, 5 ).attr({ 
			//описываем звезду, начальная позиция - точка (100, 100), 
			//количество концов звезды - 5, радиус - случайная величина.
			// Далее указываем атрибуты, с коротрыми она создается
			    fillColor: color, //заливаем звезду нашим случайным цветом
			    strokeWidth: 7, //задаем ширину обводки в 7 пикселей
			    strokeColor: color.lighter(.1), //цвет обводки делаем 
							//светлее на 1 условную единицы
			    x: Math.random() * 500, //точку содания звезды делаем случайной
			    y: Math.random() * 500
			  });
			  star.addTo(stage); //добавляем звездочку на сцену (отрисовываем её)
 
			  var k = new KeyframeAnimation('1s', { //создаем линейную
							// анимацию длинной в 1 секунду
			    '50%': { //указываем необходимый результата на середине, 
					//то есть на момент 1 секунда после начала
			       scaleX: 3, //масштаб по икс и игрек в 4 раза
						// больше, чем в начале
			       scaleY: 3
			    },
			    '100%': { //указываем необходимый результата к концу анимации
			       scaleX: 6, //масштаб по икс и игрек в 8 раз больше,
						//чем в начале
			       scaleY: 6
			    }
			  });
 
			 k.on('end', function(){ //указывает действие, которое
			// вызывается у объекта анимации при событии 'end', 
			//то есть после его завершения.
			    star.destroy(); //в анонимной функции 
			//удаляется старая звезда и начинается рисование новой
			    draw();
			  });
 
			  star.animate(k); //задаем звезде анимацию, описанную выше
 
			}
 
			for (var i = 0; i < 15; ++i) { //15 - количество звезд. 
			//15 раз запустим функцию рисования и получим 15 звездочек.
			  draw();
			}
 
 
		},
 
		width: 400, //указываем ширину и высоту сцены
		height: 400 
	  });
	</script>
</body>
</html>

Прикрепленный файлРазмер
halilova_demoscene.rar41.51 кб