Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <script src="three.min.js"></script>
- <script src="human.js"></script>
- </head>
- <body>
- <h1>"Нацепване на лежанка"<br><small>ф.н. 81530 – група 7 – Полина Методиева</small></h1>
- <script>
- // нагласяване на цвета и центрирането на текста с имената ви
- document.getElementsByTagName('h1')[0].style = 'color:white; text-align:center; font-size:1.75em';
- // рисувателно поле на цял екран
- renderer = new THREE.WebGLRenderer({antialias:true});
- renderer.setSize( window.innerWidth, window.innerHeight );
- document.body.appendChild( renderer.domElement );
- renderer.domElement.style = 'width:100%; height:100%; position:fixed; top:0; left:0; z-index:-1;';
- // сцена и камера
- scene = new THREE.Scene();
- camera = new THREE.PerspectiveCamera( 30, window.innerWidth/window.innerHeight, 0.1, 2000 );
- camera.position.set(0,3,150);
- // светлини
- var light = new THREE.DirectionalLight('lightblue',0.8);
- light.position.set(0,1,4);
- scene.add(light);
- scene.add( new THREE.AmbientLight('white',0.4) );
- var geometry = new THREE.BoxGeometry( 42, 2, 20 );
- var material = new THREE.MeshPhongMaterial();
- var cube = new THREE.Mesh( geometry, material );
- cube.position.set(8,-5.5,0);
- var geometry2 = new THREE.BoxGeometry( 3, 10, 3 );
- var material2 = new THREE.MeshPhongMaterial();
- var cube2 = new THREE.Mesh( geometry2, material2 );
- cube2.position.set(18.6,-5.5,8.5);
- var cube3=cube2.clone();
- cube3.position.set(-18.6,-5.5,8.5);
- var cube4=cube2.clone();
- cube4.position.set(-18.6,-5.5,-8.5);
- var cube5=cube2.clone();
- cube5.position.set(18.6,-5.5,-8.5);
- cube.add(cube2);
- cube.add(cube3);
- cube.add(cube4);
- cube.add(cube5);
- scene.add( cube );
- var geometry1 = new THREE.CylinderGeometry( 1, 1, 50, 60);
- var material1 = new THREE.MeshPhongMaterial();
- var tube = new THREE.Mesh( geometry1, material1 );
- tube.position.set(1.5,4,0);
- tube.rotation.set(-4.6,-4.5,0);
- var geometry2 = new THREE.SphereGeometry( 4, 20, 20 );
- var material2 = new THREE.MeshPhongMaterial();
- var sphere = new THREE.Mesh( geometry2, material2 );
- sphere.position.set(0,25,0);
- var sphere1 = sphere.clone();
- sphere1.position.set(0, -25, 0);
- tube.add(sphere1);
- tube.add(sphere);
- // функция за анимиране на сцената
- var t = 0; // време
- function drawFrame()
- {
- requestAnimationFrame( drawFrame );
- if (animate) animate(t++);
- renderer.render( scene, camera );
- }
- // човече
- манекен = мъжествен();
- манекен2 = мъжествен();
- // тук се описват статичните елементи на позата
- манекен2.rotation.set(0, 3.2, 0);
- манекен2.position.set(50,9,-20);
- манекен2.д_ръка.rotation.set(6,0,10.5);
- манекен2.л_ръка.rotation.set(6,0,10.5);
- манекен2.тяло.rotation.set(0,0,6.5);
- манекен2.л_лакът.rotation.set(0,0,-12);
- манекен2.д_лакът.rotation.set(0,0,-12);
- манекен.rotation.set(0,9.5,-4.7);
- манекен.д_коляно.rotation.set(0,0,-11);
- манекен.л_коляно.rotation.set(0,0,-11);
- манекен.л_ръка.rotation.set(0,0,11);
- манекен.д_ръка.rotation.set(0,0,11);
- манекен.л_китка.add(tube);
- // анимация на човечето
- animate = function (t)
- {
- // тук се описват динамичните елементи на позата
- // като променливата t е номер на кадър, като се
- // очаква 1 секунда да е приблизително 60 кадъра
- //манекен.врат.врът(0,0,10*sin(5*t)-5);
- //манекен.глава.врът(0,0,10*sin(5*t)-5);
- //манекен.л_крак.врът(0,0,30*sin(5*t)-20);
- //манекен.л_коляно.врът(0,0,-30*sin(5*t)+20);
- //манекен.л_китка.врът(0,0,-30*sin(5*t)+15);
- //манекен.д_китка.врът(0,0,-30*sin(5*t)+15);
- манекен.тяло.врът(0,0,sin(5*t)+1);
- манекен.л_лакът.врът(0,0,-30*sin(5*t)+90);
- манекен.д_лакът.врът(0,0,-30*sin(5*t)+90);
- манекен.д_ръка.врът(0,0,30*sin(5*t)-20);
- манекен.л_ръка.врът(0,0,30*sin(5*t)-20);
- манекен2.тяло.врът(0,0,10*sin(5*t)-20);
- }
- drawFrame();
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement