Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit77455b0af298c672d93d9248f41fc28b6a1e7b66 (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-10-18 14:58:59 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-10-18 14:58:59 +0300
Filescd5d5139765f6b1d520f0ca0919d3b507d67dba3
uni-projects-77455b0af298c672d93d9248f41fc28b6a1e7b66.tar
uni-projects-77455b0af298c672d93d9248f41fc28b6a1e7b66.tar.gz
uni-projects-77455b0af298c672d93d9248f41fc28b6a1e7b66.zip
Parente5d7e2787881f4604224fbacef94c5a47e4fd35b (diff)
[OKG/H02] Solved second practicum homework
1 files changed, 99 insertions, 0 deletions
-rw-r--r--Year 2/Computer Graphics Fundamentals/Practicum Homework/a02.html99
diff --git a/Year 2/Computer Graphics Fundamentals/Practicum Homework/a02.html b/Year 2/Computer Graphics Fundamentals/Practicum Homework/a02.html
new file mode 100644
index 0000000..3e3e5bc
--- /dev/null
+++ b/Year 2/Computer Graphics Fundamentals/Practicum Homework/a02.html
@@ -0,0 +1,99 @@
+<html>
+ <head>
+ <style>
+ body { margin: 0; }
+ canvas { width: 100%; height: 100% }
+ </style>
+ </head>
+ <body>
+ <script src="three.min.js"></script>
+ <script>
+ // От тука до "КРАЙ" е откраднато от задача 1 на практикум 2
+ var renderer = new THREE.WebGLRenderer();
+ renderer.setSize( window.innerWidth, window.innerHeight );
+ renderer.setAnimationLoop( drawFrame );
+ document.body.appendChild( renderer.domElement );
+
+ var scene = new THREE.Scene();
+
+ var aspect = window.innerWidth/window.innerHeight;
+ var camera = new THREE.PerspectiveCamera( 30, aspect );
+ camera.position.set( 3, 3, 8 );
+ camera.lookAt( new THREE.Vector3() );
+ // КРАЙ
+
+
+
+ const s = 0.45; // scale
+ var steve = new THREE.Group();
+ var materialSkin = new THREE.MeshPhongMaterial({ color: 0x8A2BE2 });
+ var materialShirt = new THREE.MeshPhongMaterial({ color: 0x00FF7F });
+ var materialPants = new THREE.MeshPhongMaterial({ color: 0xE6E6FA });
+ var materialShoes = new THREE.MeshPhongMaterial({ color: 0x87CEFA });
+
+ /* Torso */
+ var torsoGeometry = new THREE.BoxGeometry(1.8 * s, 3.2 * s, 0.66 * s);
+ steve.add(new THREE.Mesh(torsoGeometry, materialShirt));
+
+ /* Head */
+ var headGeometry = new THREE.BoxGeometry(1 * s, 1 * s, 1 * s);
+ var head = new THREE.Mesh(headGeometry, materialSkin);
+ head.position.set(0, torsoGeometry.parameters.height / 2 + headGeometry.parameters.height / 2, -0.1 * s);
+ steve.add(head);
+
+ /* Arms */
+ var armGeometry = new THREE.BoxGeometry(0.5 * s, 3.4 * s, 0.4 * s);
+
+ var leftArm = new THREE.Mesh(armGeometry, materialSkin);
+ leftArm.position.set(-torsoGeometry.parameters.width / 2 - armGeometry.parameters.width / 2, torsoGeometry.parameters.height / 2 - armGeometry.parameters.height / 2, 0);
+ steve.add(leftArm);
+
+ var rightArm = new THREE.Mesh(armGeometry, materialSkin);
+ rightArm.position.set(torsoGeometry.parameters.width / 2 + armGeometry.parameters.width / 2, torsoGeometry.parameters.height / 2 - armGeometry.parameters.height / 2, 0);
+ steve.add(rightArm);
+
+ /* Legs */
+ var legGeometry = new THREE.BoxGeometry(torsoGeometry.parameters.width / 2 - 0.1 * s, 3 * s, 0.42 * s);
+
+ var leftLeg = new THREE.Mesh(legGeometry, materialPants);
+ leftLeg.position.set(-torsoGeometry.parameters.width / 2 + legGeometry.parameters.width / 2, -torsoGeometry.parameters.height / 2 - legGeometry.parameters.height / 2, 0);
+ steve.add(leftLeg);
+
+ var rightLeg = new THREE.Mesh(legGeometry, materialPants);
+ rightLeg.position.set(torsoGeometry.parameters.width / 2 - legGeometry.parameters.width / 2, -torsoGeometry.parameters.height / 2 - legGeometry.parameters.height / 2, 0);
+ steve.add(rightLeg);
+
+ /* Shoes */
+ var shoeGeometry = new THREE.BoxGeometry(legGeometry.parameters.width, 0.4 * s, 1 * s);
+
+ var leftShoe = new THREE.Mesh(shoeGeometry, materialShoes);
+ leftShoe.position.set(-torsoGeometry.parameters.width / 2 + shoeGeometry.parameters.width / 2, -torsoGeometry.parameters.height / 2 - legGeometry.parameters.height - shoeGeometry.parameters.height / 2, -shoeGeometry.parameters.depth / 2 + legGeometry.parameters.depth / 2);
+ steve.add(leftShoe);
+
+ var rightShoe = new THREE.Mesh(shoeGeometry, materialShoes);
+ rightShoe.position.set(torsoGeometry.parameters.width / 2 - shoeGeometry.parameters.width / 2, -torsoGeometry.parameters.height / 2 - legGeometry.parameters.height - shoeGeometry.parameters.height / 2, -shoeGeometry.parameters.depth / 2 + legGeometry.parameters.depth / 2);
+ steve.add(rightShoe);
+
+ scene.add(steve);
+
+
+
+ // От тука до "КРАЙ" е откраднато от задача 1 на практикум 2
+ var light = new THREE.PointLight( );
+ light.position.set( 3, 4, 5 );
+ scene.add( light );
+
+ light = new THREE.PointLight( );
+ light.position.set( -3, 4, -5 );
+ scene.add( light );
+
+ // въртене на сцената като в микровълнова фурна
+ function drawFrame()
+ {
+ scene.rotation.y += 0.005;
+ renderer.render( scene, camera );
+ }
+ // КРАЙ
+ </script>
+ </body>
+</html>