Редактирование: Планетарный поворотный механизм

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 8: Строка 8:
 
== Решение ==
 
== Решение ==
  
{{#widget:Iframe |url=http://tm.spbstu.ru/htmlets/MuschakND/48.7/48.7.html |width=900 |height=450 |border=0 }}
+
{{#widget:Iframe |url=48.7.html |width=800 |height=600 |border=0 }}
  
 
Программа: [[Медиа:uy.zip|скачать]]
 
Программа: [[Медиа:uy.zip|скачать]]
Строка 19: Строка 19:
 
{
 
{
 
var scene = new THREE.Scene();
 
var scene = new THREE.Scene();
  var camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 0.1, 1000);
+
var camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, 0.1, 1000);
  var render = new THREE.WebGLRenderer();
+
var render = new THREE.WebGLRenderer();
  render.setClearColor(0xFFFFFF, 1);
+
render.setClearColor(0xffffff, 1);
  render.setSize(800, 400);
+
render.setSize(window.innerWidth, window.innerHeight);
 
 
 
 
Строка 116: Строка 116:
 
gui.add(controls,'Radius',1,15);
 
gui.add(controls,'Radius',1,15);
  
    control1 = new THREE.OrbitControls(camera);
 
    control1.dumping = 0.2;
 
  
var trajectoryGeometry = new THREE.SphereGeometry(0.05, 2, 2);
+
 
 +
var trajectoryGeometry = new THREE.SphereGeometry(0.05, 16, 16);
 
var trajectoryMaterial = new THREE.MeshBasicMaterial( {color: 0x000000,wireframe:true} );
 
var trajectoryMaterial = new THREE.MeshBasicMaterial( {color: 0x000000,wireframe:true} );
var trajectory1Geometry = new THREE.SphereGeometry(0.05, 2, 2);
+
var trajectory1Geometry = new THREE.SphereGeometry(0.05, 16, 16);
 
var trajectory1Material = new THREE.MeshBasicMaterial( {color: 0x0000ff,wireframe:true} );
 
var trajectory1Material = new THREE.MeshBasicMaterial( {color: 0x0000ff,wireframe:true} );
 
 
+
var stats = initStats();
 
var step = 0;
 
var step = 0;
 
 
Строка 134: Строка 133:
 
function renderer()
 
function renderer()
 
{
 
{
+
stats.update();
 
 
 
 
Строка 158: Строка 157:
 
line.rotation.y-=controls.rotationSpeed*0.3;
 
line.rotation.y-=controls.rotationSpeed*0.3;
 
requestAnimationFrame(renderer);
 
requestAnimationFrame(renderer);
control1.update();
 
 
 
 
cylinder.scale.set(controls.Radius,1,controls.Radius);
 
cylinder.scale.set(controls.Radius,1,controls.Radius);
Строка 185: Строка 183:
 
scene.add( trajectory1 );
 
scene.add( trajectory1 );
 
render.render(scene,camera);
 
render.render(scene,camera);
this.submit = renderer;
+
 
 
 
}
 
}
this.start = renderer;
+
  this.stopName=stopIt;
 
  function stopIt()
 
  {
 
    controls.rotationSpeed = 0;
 
    stop = controls.rotationSpeed;
 
  }
 
 
 
 
this.addOrbit = function(pos, radius)
 
this.addOrbit = function(pos, radius)
 
{
 
{
Строка 220: Строка 211:
 
}
 
}
 
 
 +
}
 +
function initStats()
 +
{
 +
var stats = new Stats();
 +
stats.setMode(0);
 +
stats.domElement.style.position='absolute';
 +
stats.domElement.style.left = '0px';
 +
stats.domElement.style.top = '0px';
 +
$("#Stats").append(stats.domElement);
 +
return stats;
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
Вам запрещено изменять защиту статьи. Edit Создать редактором

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии Public Domain (см. Department of Theoretical and Applied Mechanics:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Отменить | Справка по редактированию  (в новом окне)