three.js로 웹에서 멋진 3D 장면 연출하기

three.js를 이용하여 웹에서.. 몽환적인 장면을 만들어 보는 코드를 작성해 보았습니다. 결과는 다음 동영상과 같습니다.

복잡한 Shader를 사용하지 않았습니다. three.js의 기본적인 API만을 사용했습니다.

또 다른 한가지 예입니다. 피닉스 한마리가 날아오르는 장면을 연출한 것인데요. 처음엔 생기가 없지만 조금씩 높이 날아 오를수록 몸이 빛나기 시작합니다.

조만간 제 Youtube 채널(GIS DEVELOPER)에 위 2가지에 예제를 three.js로 어떻게 만드는지 그 내용을 업로드할 예정입니다.

물리(Physics) 계수

반발계수(coefficient of restitution, COR)

반발 계수는 물체의 충돌 전후 속도의 비율을 나타내는 분수값이다. 반발 계수가 1인 물체는 탄성 충돌을 하며, 반발 계수가 1보다 작은 물체는 비탄성 충돌을 한다. 반발 계수가 0이면 완전 비탄성 충돌을 하며, 충돌한 물체와 붙어서 튀지 않는다. (출처: 위키백과)

마찰력(friction)

마찰력은 두 물체의 접촉면 사이에서 물체의 운동을 방해하는 힘이다. 마찰력의 계수는 물질의 고유 성질이 아닌, 어떤 물체의 어떤 표면 상태에서 어떤 물질과 접촉하는가 등에 관계있으며 실험을 통해 결정되는 현상론적인 양이다. 교과서는 일반적으로 마찰력은 접촉면의 넓이에는 무관하다고 서술하나 이것은 접촉면이 이상적으로 매끄러운 경우에만 성립한다. 실제로는 접촉면의 매끄러운 정도 등에 따라 영향을 받는다. (출처: 위키백과)

질량(mass)

질량은 물리학에서 물질이 가지고 있는 고유한 양을 일컫는 말이다. 질량의 SI 단위는 킬로그램(kg)이다. (출처: 위키백과)

PostgreSQL의 Time Zone 변경

먼저 현재 DB에 대한 TimeZone을 확인하기 위한 명령어는 다음과 같습니다.

SHOW timezone;

타임존이 한국이 아닐 경우 아래의 명령을 통해 한국으로 변경합니다. !DB_NAME!에 데이터베이스 이름이 들어갑니다.

ALTER DATABASE !DB_NAME! SET timezone = 'Asia/Seoul';

타임존을 변경한 뒤에는 PostgreSQL을 반드시 재시작해야합니다.

Rocky Linux 8.6, 새로운 HDD(or SDD) 추가하기

일단 HDD를 메인 보드에 설치했다고 가정하고 단계 별로 설명합니다. 다음 명령어를 통해 새롭게 추가한 HDD의 이름을 파악합니다.

lsblk

결과를 보면 MOUNTPOINT가 지정되어 있지 않은 sdb가 새롭게 추가된 HDD의 이름입니다. 전체 이름은 /dev/sdb입니다.

8T로 주문했는데 7.3T로 자그마치 0.7T가 부족한 상황에서 잠시 생각에 잠겨봅니다. 이유가 있겠지… 하고 다음 단계로 넘어갑니다. 파일 시스템을 설정해 줘야 하는데, 대용량의 저장장치에는 ext4 파일 시스템이 가장 무난하다고 하니 그렇게 지정합니다.

mkfs -t ext4 /dev/sdb

일단 명령어 입력 후 엔터키를 누른 뒤에 어떤 것도 입력하지 않으면 진행이 됩니다. 몇초정도 소요됩니다. 이제 마운트시켜야 합니다. 마운트 시킬 디렉토리를 하나 만듭니다.

mkdir /etc_hdd

이 디렉토리에 마운트 시킵니다.

mount /dev/sdb /etc_hdd

cd /etc_hdd로 디렉토리 안의 내용을 살펴볼 수 있습니다. 아마도 비어있거나 lost+found라는 디렉토리만 보일겁니다.

여기까지가 새로운 HDD를 추가하기 위한 과정인데요. 문제는 OS를 재부팅하면 마운팅된게 해제됩니다. 재부팅시에도 마운팅이 계속 유지되도록 해야 합니다. 이를 위해 /etc/fstab 파일을 수정해야 합니다. 안전하게 작업하기 위해 이 파일을 복제해 둡니다.

cp /etc/fstab /etc/fstab.old

그리고 새로운 HDD의 고유 ID를 얻어오기 위해 아래 명령을 입력합니다.

blkid

sdb의 UUID는 42236680-0f4f-4b17-a0ac-561b88d76cd9 라는 것을 알 수 있습니다.

이제 /etc/fstab 파일을 편집합니다.

nano /etc/fstab

새롭게 추가된 내용은 위의 화면에서 가장 마지막 줄이며 다음과 같습니다.

UUID=42236680-0f4f-4b17-a0ac-561b88d76cd9 /etc_hdd ext4 defaults,nofail 0 2

이제 재부팅해 보면 자동으로 마운트되는 것을 확인할 수 있습니다.

재부팅하지 않고도 확인할 수 있는 방법도 있는데, 아래와 같습니다.

umount /etc_hdd
mount -a