From 0908d4afea7f45bfe3f78d47eeefc074b1c8b864 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Mon, 24 Oct 2022 13:30:45 +0300 Subject: [OKG/P04] Added work from practicum --- .../04-Practice-24.10.2022/ex01.js | 63 +++++++++++++++++++ .../04-Practice-24.10.2022/ex02.js | 52 ++++++++++++++++ .../04-Practice-24.10.2022/ex03.js | 56 +++++++++++++++++ .../04-Practice-24.10.2022/ex04.js | 72 ++++++++++++++++++++++ .../04-Practice-24.10.2022/ex05.js | 64 +++++++++++++++++++ .../04-Practice-24.10.2022/ex06.js | 38 ++++++++++++ .../04-Practice-24.10.2022/practicum-template.html | 20 ++++++ 7 files changed, 365 insertions(+) create mode 100644 Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex01.js create mode 100644 Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex02.js create mode 100644 Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex03.js create mode 100644 Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex04.js create mode 100644 Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex05.js create mode 100644 Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex06.js create mode 100644 Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/practicum-template.html diff --git a/Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex01.js b/Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex01.js new file mode 100644 index 0000000..74f0cae --- /dev/null +++ b/Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex01.js @@ -0,0 +1,63 @@ +// Задача: задайте цвета на фона и на четирите +// куба по четири различни начина: +// - чрез име на цвят +// - чрез числа от 0 до 1 +// - чрез число в шестнадесетична бройна система +// - чрез стринг от RGB байтове +// - чрез стринг от RGB проценти + + +var renderer = new THREE.WebGLRenderer(); +renderer.setSize( window.innerWidth, window.innerHeight ); +renderer.setAnimationLoop( drawFrame ); +document.body.appendChild( renderer.domElement ); + +// цвят на фона - чрез име на цвят +var scene = new THREE.Scene(); +scene.background = new THREE.Color("gold"); + +var aspect = window.innerWidth/window.innerHeight; +var camera = new THREE.PerspectiveCamera( 30, aspect ); +camera.position.set( 0, 0, 16 ); +camera.lookAt( new THREE.Vector3() ); + + +var group = new THREE.Group(); +scene.add( group ); + +// Цвят на куб 1 - чрез три числови компоненти от 0 до 1 +var geometry = new THREE.BoxGeometry( 3, 3, 3 ); +var material = new THREE.MeshPhongMaterial({ color: new THREE.Color(0.5, 0, 0.9) }); +var cube = new THREE.Mesh( geometry, material ); +cube.position.set( 2, 0, 2 ); +group.add( cube ); + +// Цвят на куб 2 - чрез число в шестнадесетична бройна система +material = new THREE.MeshPhongMaterial({ color: 0xA30801 }); +cube = new THREE.Mesh( geometry, material ); +cube.position.set( 2, 0, -2 ); +group.add( cube ); + +// Цвят на куб 3 - чрез стринг от RGB байтове +material = new THREE.MeshPhongMaterial({ color: "rgb(12, 255, 180)" }); +cube = new THREE.Mesh( geometry, material ); +cube.position.set( -2, 0, -2 ); +group.add( cube ); + +// Цвят на куб 4 - чрез стринг от RGB проценти +material = new THREE.MeshPhongMaterial({ color: "rgb(80%, 90%, 40%)" }); +cube = new THREE.Mesh( geometry, material ); +cube.position.set( -2, 0, 2 ); +group.add(cube); + + +var light = new THREE.PointLight(); +light.position.set( 0, 5, 10 ); +scene.add( light ); + +function drawFrame() +{ + group.rotation.x += 0.005; + group.rotation.y += 0.005; + renderer.render( scene, camera ); +} diff --git a/Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex02.js b/Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex02.js new file mode 100644 index 0000000..9f43258 --- /dev/null +++ b/Year 2/Computer Graphics Fundamentals/04-Practice-24.10.2022/ex02.js @@ -0,0 +1,52 @@ +// Задача: оцветете сферите плавно, минавайки по +// целия видим спектър + +var renderer = new THREE.WebGLRenderer(); +renderer.setSize( window.innerWidth, window.innerHeight ); +renderer.setAnimationLoop( drawFrame ); +document.body.appendChild( renderer.domElement ); + +var scene = new THREE.Scene(); +scene.background = new THREE.Color( 'gainsboro' ); + +var aspect = window.innerWidth/window.innerHeight; +var camera = new THREE.PerspectiveCamera( 30, aspect ); +camera.position.set( 0, 0, 16 ); +camera.lookAt( new THREE.Vector3() ); + + +var group = new THREE.Group(); +scene.add( group ); + +var geometry = new THREE.SphereGeometry( 0.4, 8, 16 ); + +// Генериране на кръг от N сфери +var N = 40; +for (var i=0; i + + + Practicum + + + + + + + -- cgit v1.3.1-23-gd82d