๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

    Three.js๋กœ 3D ํšŒ์ „๋ชฉ๋งˆ ๊ตฌํ˜„ํ•˜๊ธฐ

    Three.js๋กœ 3D ํšŒ์ „๋ชฉ๋งˆ ๊ตฌํ˜„ํ•˜๊ธฐ

    3D ํšŒ์ „๋ชฉ๋งˆ ๊ตฌํ˜„ Three.js๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์›นํŽ˜์ด์ง€์— 3D ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์œ„์˜ ์ด๋ฏธ์ง€๋„ Three.js๋กœ ํšŒ์ „๋ชฉ๋งˆ๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ธ๋ฐ, ๊ทธ ๊ณผ์ •์„ ๊ธฐ๋กํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.๐ŸŽŠ ๋””์ž์ธ ๋ ˆํผ๋Ÿฐ์Šค๋กœ๋Š” ์•„๋ž˜ ์ฝ”๋“œํŽœ์„ ์ฐธ๊ณ ํ–ˆ๋‹ค. See the Pen Responsive Houdini 3D Carousel ๐Ÿด by Jhey (@jh3y) on CodePen. Three.js ํ™˜๊ฒฝ ๊ตฌ์„ฑ ์•„๋ž˜๋Š” Three.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์ด๋‹ค. ์ด๋ฒˆ์—๋Š” ์ง์ ‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์„œ ์ž„ํฌํŠธํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค. npm ํŒจํ‚ค์ง€๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ• # three.js npm install --save three # vite npm install --s..

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 5

    GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ : https://www.youtube.com/watch?v=Oe4n0vyrSiU ์นด๋ฉ”๋ผ (Camera) Camera๋ฅผ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค (Camera๋Š” object 3D๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค - PerspectiveCamera : ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๋ฌผ์ฒด๊ฐ€ ๋ฉ€๋ฆฌ ์žˆ๋Š” ๋ฌผ์ฒด๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ํฌ๊ฒŒ ๋ณด์ด๋„๋ก ์›๊ทผ๊ฐ์„ ํ‘œํ˜„ํ•ด์„œ ๋ Œ๋”๋งํ•œ๋‹ค. fovy, aspect, zNear, zFar๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค. ์ด ์ธ์ž๋“ค์„ ํ†ตํ•ด ์ ˆ๋‘์ฒด๊ฐ€ ๊ตฌ์„ฑ๋œ๋‹ค. (์ ˆ๋‘์ฒด ์•ˆ์— ์กด์žฌํ•˜๋Š” ๋ฌผ์ฒด๊ฐ€ ์นด๋ฉ”๋ผ๋ฅผ ํ†ตํ•ด ๋ณด์—ฌ์ง€๊ฒŒ ๋œ๋‹ค) zNear์™€ zFar ๊ฑฐ๋ฆฌ ์‚ฌ์ด๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ๋ Œ๋”๋ง๋˜์ง€ ์•Š๋Š”๋‹ค. - OrthographicCamera : ๋ฌผ์ฒด๊ฐ„์˜ ์›๊ทผ๊ฐ์—†์ด ๋ฌผ์ฒด์˜ ํฌ๊ธฐ ํฌ๊ธฐ๋Œ€๋กœ ๋ Œ๋”๋งํ•œ๋‹ค. zLeft, xRight..

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 4

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 4

    GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ : https://www.youtube.com/watch?v=L_70k2sAuds ์‚ฌ์šฉ์ž ์ •์˜ ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ(Custom Geometry) : ๋ณต์žกํ•œ ํ˜•์ƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. BufferGeometry ์— ๋Œ€ํ•ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ - position : geometry๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” 3์ฐจ์› ์ขŒํ‘œ์— ๋Œ€ํ•œ ์ •์ (Vertex) - normal : ๊ฐ ์ •์ ์— ๋Œ€ํ•œ ์ˆ˜์ง ๋ฒกํ„ฐ - color : ๊ฐ ์ •์ ์— ๋Œ€ํ•œ ์ƒ‰์ƒ๊ฐ’ - uv : ๊ฐ ์ •์ ์— ๋Œ€ํ•œ ํ…์Šค์ณ ๋งคํ•‘ ์ขŒํ‘œ - Vertex Index๋Š” setIndex ๋ฉ”์„œ๋“œ๋กœ ์ง€์ • : position ์†์„ฑ์œผ๋กœ ์ง€์ •๋œ ์ •์ ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค ๋ฐฐ์—ด๋กœ ์ง€์ •. ex) mesh๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฉด์˜ ์ตœ์†Œ ๋‹จ์œ„๋Š” ์‚ผ๊ฐํ˜•์ด๊ณ  ์ด ์‚ผ๊ฐํ˜•์€ 3๊ฐœ์˜ ์ •์ ์œผ..

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 3

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 3

    GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ : https://www.youtube.com/watch?v=RxIwudO-YqY ์žฌ์งˆ(Material) Objct3D ์˜ Line์„ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค - LineSegments - LineLoop ์žฌ์งˆ(Material) ํด๋ž˜์Šค - PointsMaterial : Points ํƒ€์ž…์˜ Object3D ๊ฐ์ฒด๋ฅผ ์œ„ํ•œ ์žฌ์งˆ, ์ขŒํ‘œ๋ฅผ ์ ์œผ๋กœ ๋ Œ๋”๋ง - LineBasicMaterial : Line ํƒ€์ž…์˜ Object3D ๊ฐ์ฒด๋ฅผ ์œ„ํ•œ ์žฌ์งˆ. ์ขŒํ‘œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๋ผ์ธ์œผ๋กœ ๋ Œ๋”๋ง - LineDashedMaterial : LineBasicMaterial ๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ž์‹ ํด๋ž˜์Šค - MeshBasicMaterial : Mesh ํƒ€์ž…์˜ Object3D ๊ฐ์ฒด๋ฅผ ์œ„ํ•œ ์žฌ์งˆ. ..

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 2

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 2

    GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ : https://www.youtube.com/watch?v=ITA9no8Bsio ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ (Geometry) : 3์ฐจ์› ์˜ค๋ธŒ์ ํŠธ์˜ ํ˜•์ƒ์„ ์ •์˜ Three.js ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ : ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ BufferGeometry ๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์žˆ๋‹ค. * BufferGeometry - BoxGeometry : ๊ฐ€๋กœ, ์„ธ๋กœ, ๊นŠ์ด์— ๋Œ€ํ•œ ํฌ๊ธฐ์™€ ๊ฐ€๋กœ, ์„ธ๋กœ, ๊นŠ์ด ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๋ถ„ํ• (Segments) ์ˆ˜๋กœ ์ •์˜๋œ๋‹ค. (๋ถ„ํ• ์€ LineBasicMaterial์„ ํ†ตํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ) - CircleGeometry : ์›ํŒ์˜ ํฌ๊ธฐ์ธ ๋ฐ˜์ง€๋ฆ„, ์›ํŒ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ถ„ํ•  ๊ฐœ์ˆ˜, ์‹œ์ž‘ ๊ฐ๋„, ์—ฐ์žฅ ๊ฐ๋„๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค. - ConeGeometry : ..

    [Three.js] GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ - 1

    GIS Developer ๋‹˜์˜ Three.js ๊ฐ•์ขŒ : https://www.youtube.com/watch?v=ZGACJosABBw ํ•„๊ธฐ์šฉ ๊นƒํ—ˆ๋ธŒ : https://github.com/sduu/three-tutorial ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์„ฑ 1. Visual Studio Code ์„ค์น˜ https://code.visualstudio.com/ 2. Three.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ : https://threejs.org/ : ์‹ค์Šต์€ module ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ธฐ๋•Œ๋ฌธ์— three.module.js ํŒŒ์ผ์„ ์‚ฌ์šฉํ•œ๋‹ค. 3. ์‹ค์Šต์„ ์ง„ํ–‰ํ•  html ํŒŒ์ผ์„ ์ƒ์„ฑ 4. ํŽ˜์ด์ง€ ์‹คํ–‰์„ ์œ„ํ•ด ์„ค์ • ํŒŒ์ผ์„ ์ƒ์„ฑ - VSCode ์‹คํ–‰ ๋ฐ ๋””๋ฒ„๊ทธ๋ฅผ ์„ ํƒ (ctrl + shift + D) - launch.json ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒ ..

    [JS] ์‹œ๊ฐ„ ํฌ๋งคํŒ… (์š”์ผ, ์‹œ๊ฐ„, AM/PM)

    See the Pen Untitled by 23651 (@23651) on CodePen. function getDate() { const week = new Array('SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'); const today = new Date(); const dayName = week[today.getDay()]; const hours = today.getHours() % 12 ? today.getHours() % 12 : 12; const minutes = today.getMinutes() < 10 ? '0' + today.getMinutes() : today.getMinutes(); const..

    [Webpack] Cannot find module 'sass' ์—๋Ÿฌ

    [Webpack] Cannot find module 'sass' ์—๋Ÿฌ

    node-sass ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ธฐ npm i node-sass -D

    [Gulp] Task never defined: default ์˜ค๋ฅ˜

    [Gulp] Task never defined: default ์˜ค๋ฅ˜

    https://stackoverflow.com/questions/57693486/gulp-task-never-defined-task gulp4.0 ๋ฌธ๋ฒ•์œผ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ: //before gulp.task('default', ['js']); //after gulp.task('default', gulp.series('js'));

    [JS] ํž˜ ๊ฐœ๋… ์ดํ•ดํ•˜๊ธฐ 3 | ์นธ ์•„์นด๋ฐ๋ฏธ

    [JS] ํž˜ ๊ฐœ๋… ์ดํ•ดํ•˜๊ธฐ 3 | ์นธ ์•„์นด๋ฐ๋ฏธ

    https://ko.khanacademy.org/computing/computer-programming/programming-natural-simulations/programming-forces/a/gravitational-attraction ์ค‘๋ ฅ ์ธ๋ ฅ ์งˆ๋Ÿ‰์„ ๊ฐ€์ง„ ๋ชจ๋“  ๋ฌผ์ฒด๋Š” ๋ชจ๋“  ๋‹ค๋ฅธ ๋ฌผ์ฒด์— ์ค‘๋ ฅ์„ ๊ฐ€ํ•œ๋‹ค. ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ค‘๋ ฅ์˜ ์„ธ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์‹์ด ์žˆ๋‹ค. F ๋Š” ์ค‘๋ ฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ’์œผ๋กœ, ์ตœ์ข…์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ applyForce() ํ•จ์ˆ˜์— ์ „๋‹ฌํ•˜๋ ค๋Š” ๋ฒกํ„ฐ๋‹ค. G ๋Š” ๋งŒ์œ  ์ธ๋ ฅ์˜ ์ƒ์ˆ˜๋กœ 6.67428 x 10^-11 ์ดˆ(s) ์ œ๊ณฑ ๋ถ„์˜ ํ‚ฌ๋กœ๊ทธ๋žจ(kg) ๋ถ„์˜ ๋ฏธํ„ฐ(m) ์„ธ์ œ๊ณฑ์ด๋‹ค. ์ด๊ฒƒ์€ ํž˜์„ ๋ณด๋‹ค ์•ฝํ•˜๊ฒŒ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ณด๋‹ค ๊ฐ•ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ƒ์ˆ˜๋‹ค. ์ด ๊ฐ’์„ 1๋กœ ๋‘๊ณ  ๋ฌด์‹œํ•ด๋„ ํฐ์ผ๋‚˜์ง€ ์•Š๋Š”๋‹ค. mโ‚โ€‹ ๊ณผ ..