- ambient Light : 은은한 조명 - directional Light: 태양광 빛을 볼때 조명이 어떻게 비추는지 아는것은 힘들다. 이것을 도와주는 장치가 gui다 gui를 쓰는법은 const gui = new dat.GUI(); gui.add(light.position, 'x', -5, 5, 0.1).name('조명 X'); gui.add(light.position, 'y', -5, 5, 0.1).name('조명 Y'); gui.add(light.position, 'z', 2, 10, 0.1).name('조명 Z'); 이렇게 x,y,z방향에 대한 GUI를 만들어주기만하면, 화면에서 바로 확인해볼수가있다. 아주간단! 이번에는 움직이는 애니메이션 조명을 만들어보자. 어떨때 필요할까? 🙄 해가 동쪽..
더보기 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세..
꾸준히 알고리즘을 풀어보고자 오랜만에 프로그래머스에 들어갔더니 새로운 문제들이 업데이트!! 원래도 잘 못하는 알고리즘 오랜만에 하려니 쉬운거같은데도 시간이 오래걸렸당ㅠㅠ 더보기 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, ..
원하는 texture하나를 다운받는다. 3dTEXUTRE로 검색하면 공짜 TEXTTURE가 많음. 다운받은이미지를 폴더에넣은 다음에, 우리는 webpack을 쓰고있기때문에 webpack에다가 plugin안에다가 경로 plugin얼 넣어준다. // CopyWebpackPlugin: 그대로 복사할 파일들을 설정하는 플러그인 // 아래 patterns에 설정한 파일/폴더는 빌드 시 dist 폴더에 자동으로 생성됩니다. // patterns에 설정한 경로에 해당 파일이 없으면 에러가 발생합니다. // 사용하는 파일이나 폴더 이름이 다르다면 변경해주세요. // 그대로 사용할 파일들이 없다면 CopyWebpackPlugin을 통째로 주석 처리 해주세요. new CopyWebpackPlugin({ patterns: ..
MeshStandard일때는 아래와 같은 모양이다 const geometry = new THREE.BoxGeometry(1, 1, 1); const material = new THREE.MeshStandardMaterial({ color: 'seagreen' }); const mesh = new THREE.Mesh(geometry, material); scene.add(mesh); MeshBasic을 쓰면? 입체감이 사라진다 meshbasicmaterial은 입체감이없는 평평한애 빛의 영향을 안받기때문에 light 조명도 필요가없다. MeshLambert, MeshPhong 차이점은 뭘까? // Mesh //geometry하나를 만든다음에 material에서 공통으로 가져다 쓰고있다. const geom..
Frontend Developer Roadmap: Learn to become a modern frontend developer Developer Roadmaps Community driven roadmaps, articles, guides, quizzes, tips and resources for developers to learn from, identify their career paths, know what they don't know, find out the knowledge gaps, learn and improve. roadmap.sh Design Patterns (refactoring.guru) Design Patterns Design Patterns Design patterns are ty..
영문판 작업을 하는중에 생긴 오류 덧셈을 하다보면 소수점에서 제대로된 덧셈을 못하는것을 볼수있다. 원인은>? 보통 계산을 할 때 '10진법'을 사용하지만, 우리와 다르게 컴퓨터는 계산을 할 때 0과 1만 사용하는 '2진법'을 사용한다. 그래서 10진법을 2진법으로 바꾸는 변환과정이 필요한데, 소수 중 일부는 이 과정에서 무한소수가 되어버린다. 하지만 컴퓨터 메모리에는 한계가 있어서 무한 소수를 다 담지 못하고 중간에 잘라서 유한 소수로 저장해버린다. 바로 이 과정에서 미세한 오차가 발생하는 것이다. node.js에서 돌려보면 이런식으로 나오는경우가많은데.. 정수에서 /100을한 후에 작업을 해주던가해야함.
// setPriceRange() { // const minInputValue = (this.searchCondition.minprice / this.priceGap) // const minPercentage = minInputValue * 10 // const maxInputValue = (this.searchCondition.maxprice / this.priceGap) // const maxPercentage = 100 - (maxInputValue * 10) // const rangeMin = document.getElementById('rangeMin') as HTMLInputElement; // const rangeMax = document.getElementById('rangeMax') as..
