Редактирование: Маятник с растяжимой нитью
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 31: | Строка 31: | ||
<math>T = \frac{1}{2}\ m\ (\dot l\ ^{2}+l^{2}\dot\varphi^{2})</math> | <math>T = \frac{1}{2}\ m\ (\dot l\ ^{2}+l^{2}\dot\varphi^{2})</math> | ||
− | <math>\Pi = | + | <math>\Pi = m \ g\ l \cos(\varphi )\ </math> |
Дифференцируя полученные выражения энергий и подставляя в уравнение Лагранжа результаты дифференцирования, получаем уравнение движения рассматриваемой системы: | Дифференцируя полученные выражения энергий и подставляя в уравнение Лагранжа результаты дифференцирования, получаем уравнение движения рассматриваемой системы: | ||
Строка 47: | Строка 47: | ||
*stats.js | *stats.js | ||
− | *OrbitControls. | + | *OrbitControls.ru |
Положим, что длина нити l увеличивается линейно с коэффициентом удлинения с. Это предположение используется при построении модели, то есть рассматриваем частный случай со следующим законом изменения длины нити: | Положим, что длина нити l увеличивается линейно с коэффициентом удлинения с. Это предположение используется при построении модели, то есть рассматриваем частный случай со следующим законом изменения длины нити: | ||
Строка 61: | Строка 61: | ||
Файл '''"Generalwork2.js"''' | Файл '''"Generalwork2.js"''' | ||
<syntaxhighlight lang="javascript" line start="1" enclose="div"> | <syntaxhighlight lang="javascript" line start="1" enclose="div"> | ||
+ | |||
function init() | function init() | ||
Строка 68: | Строка 69: | ||
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 renderer=new THREE.WebGLRenderer(); | var renderer=new THREE.WebGLRenderer(); | ||
− | renderer.setClearColor(new THREE.Color( | + | renderer.setClearColor(new THREE.Color(0xADD8E6,1.0)); |
renderer.setSize(window.innerWidth, window.innerHeight); | renderer.setSize(window.innerWidth, window.innerHeight); | ||
renderer.shadowMapEnabled=true; | renderer.shadowMapEnabled=true; | ||
var planeGeometry=new THREE.PlaneGeometry(60,20,1,1); | var planeGeometry=new THREE.PlaneGeometry(60,20,1,1); | ||
− | var planeMaterial=new THREE.MeshLambertMaterial({color: | + | var planeMaterial=new THREE.MeshLambertMaterial({color:0x0ffd4}); |
var plane=new THREE.Mesh(planeGeometry,planeMaterial); | var plane=new THREE.Mesh(planeGeometry,planeMaterial); | ||
plane.receiveShadow=true; | plane.receiveShadow=true; | ||
Строка 82: | Строка 83: | ||
camera.position.set(0,5,50); | camera.position.set(0,5,50); | ||
camera.lookAt(new THREE.Vector3(0,-10,0)); | camera.lookAt(new THREE.Vector3(0,-10,0)); | ||
− | |||
− | |||
− | |||
− | |||
var ambientLight=new THREE.AmbientLight(0x0c0c0c); | var ambientLight=new THREE.AmbientLight(0x0c0c0c); | ||
Строка 160: | Строка 157: | ||
controls1.L=L0+c*time; | controls1.L=L0+c*time; | ||
group.rotation.z=phi; | group.rotation.z=phi; | ||
− | |||
− | |||
− | |||
− | |||
renderer.render(scene,camera); | renderer.render(scene,camera); | ||
requestAnimationFrame(render); | requestAnimationFrame(render); | ||
− | |||
} | } | ||
function initStats() | function initStats() |