분류 전체보기

· Math
나비에-스토크스 방정식(Navier-Stokes equations)은 유체의 운동을 기술하는 일련의 비선형 편미분 방정식이며, 뉴턴(Newtonian), 비압축(Incompressible), 등온(Isothermal) 조건을 만족하는 유체를 대상으로 합니다. 이 방정식은 유체역학의 기본이며, 유체의 속도, 압력, 밀도, 점성 등을 연결하는 데 사용됩니다. 나비에-스토크스 방정식은 유체의 흐름과 관련된 다양한 문제를 해결하는 데 필수적이며, 기상 예측, 항공기 설계, 해양 공학, 그리고 혈류 동역학 분야에서 널리 적용됩니다. 나비에-스토크스 방정식은 다음과 같은 핵심 원리에 기반합니다: 보존 법칙: 질량, 운동량, 에너지의 보존 법칙을 유체의 흐름에 적용합니다. 이는 유체의 각 부분이 시간에 따라 어떻게 ..
Clip Space 간단히 말해서, 클립 공간은 프리즘으로 모델링되고, 이것을 클립 볼륨이라고 합니다. 만약 Primitive의 정점들이 이 공간 밖에 있다면 그 정점들은 GPU에 의해 클리핑됩니다. 어쨌든 우리는 그 정점들을 볼 수 없기 때문에 이는 불필요한 계산을 피하기 위한 절차입니다. 클립 볼륨은 다음 두 위치로 경계된 상자로 정의됩니다: $$ (-w, -w, 0), (w, w, w) $$ 여기서 w는 정점의 추가적인 차원이며 정점을 동차좌표계로 만드는 역할을 합니다. GPU에 의해 클리핑되지 않기 위해 클리핑 공간에서 \(x)\, \(y)\, \(z)\ 좌표는 다음 조건이 되어야 합니다. $$ -w \leq x \leq w $$ $$ -w \leq y \leq w $$ $$ 0 \leq z \l..
· Math
라플라스 방정식에서 \(n)\은 공간의 차원을 나타냅니다. 즉, 라플라스 방정식이 적용되는 공간이 몇 차원인지를 나타내는 값입니다. \(n)\차원 공간에서 라플라스 방정식은 다음과 같은 형태를 취합니다: $$ \nabla^2f = 0 $$ 여기서 \( \nabla^2 )\(델 제곱)는 라플라시안(Laplacian) 연산자로, 각 좌표축에 대한 두 번째 편미분의 합을 의미합니다. 라플라시안 연산자에 스칼라 함수(이 때의 스칼라 함수를 포텐셜 함수라 일컬음)를 붙여서 표현하며 라플라시안은 벡터로 나타내어질 수 있습니다. \(n)\에서 라플라시안은 다음과 같이 표현될 수 있습니다: $$ \nabla^2f = \frac{\partial^2}{\partial x_1^2} + \frac{\partial^2}{\pa..
· Unity Engine
URP(Universal Render Pipeline) Unity에서 지원하는 스크립터블 렌더링 파이프라인(SRP) 중 하나로, 고성능 그래픽과 광범위한 플랫폼 호환성을 제공하기 위해 설계되었다. URP는 모바일, PC, 콘솔 등 다양한 디바이스에서 효율적으로 작동하도록 최적화되어 있으며, 개발자가 더 빠르고 쉽게 화려한 게임을 만들 수 있도록 돕는다. URP의 주요 특징 성능 최적화: URP는 다양한 플랫폼에서 높은 성능을 유지하도록 설계되었다. 쉬운 설정과 사용: 사용자 친화적인 인터페이스와 설정을 통해 개발자가 더 쉽게 접근할 수 있다. 그래픽 품질: URP는 뛰어난 그래픽 품질을 제공하며, 라이트웨이트(Rendering Pipeline)에서 발전한 기술을 기반으로 한다. 확장성과 유연성: 개발자는..
· Linux
윈도우 환경에서 chrome 브라우저가 실행이 안 될 때는 chrome 브라우저 바로가기에 --no-sandbox 옵션을 추가해주면 작동할 수 있다. sandbox는 chrome의 보안 기능 중 하나로 각 탭과 확장 프로그램을 별도의 프로세스로 실행하여 격리시키는 기능을 하지만 특정 환경(Linux 서버)에서 동작하지 않을 수 있다. 터미널을 열고 다음 명령어를 입력한다. sudo sed -i 's/chromium %U/chromium --no-sandbox %U/g' /usr/share/applications/chrome.desktop sed -i 는 특정 파일의 문자열을 교체하는 명령어이다. /usr/share/applications 경로의 chrome/desktop 파일이 바로 chrome 바로가기..
· Unity Engine
Unity에서 사용하는 .NET 런타임은 세대별 가비지 컬렉션(Generational Garbage Collection) 메커니즘을 사용하여 메모리 관리를 수행합니다. 이 메커니즘은 객체들을 생성된 시간에 따라 여러 "세대"(Generation)로 분류하고, 각 세대별로 가비지 컬렉션을 실행함으로써 효율적으로 메모리를 관리합니다. 세대별 가비지 컬렉션은 특히 오래 살아남은 객체와 짧게 사용되고 빠르게 버려지는 객체를 구분하여 관리함으로써, 가비지 컬렉션의 전체 실행 시간을 최소화하는 데 도움을 줍니다. 세대별 가비지 컬렉션의 작동 원리 세대별 가비지 컬렉션은 객체를 세 가지 주요 세대로 분류합니다: 세대 0 (Generation 0): 가장 최근에 생성된 객체들이 속하는 세대입니다. 이 세대의 객체들은 ..
· Linux
이번에는 C++ 코드를 작성하고 make를 통해 g++ 컴파일러로 컴파일해보는 시간을 가져보자. C++ 같이 텍스트 파일을 실행할 때는 일반적으로 vi 에디터 환경에서 실행해야 한다. vi 에디터 vi ./[소스코드.cpp] 여기서 입력 모드로 들어가려면 i를 누르면 된다. 그러면 아래에 -- INSERT -- 라고 표시되는데 이는 현재 입력 모드임을 뜻한다. 이 상태에서 :set mouse=a 명령어를 입력하면 마우스로 텍스트 커서를 옮길 수 있다. 참고로 vi 에디터에서 되감기(Ctrl + Z)는 u이다. 이는 입력 모드를 종료한 상태에서 눌러야 한다. 입력 모드를 종료하려면 esc 를 누르면 된다. :wq 명령어를 입력하면 w(write)-q(quit) 순으로 현재 소스를 저장하고 나오는 것이고 :..
· Linux
나의 경우 윈도우에서 리눅스를 사용하기 위해 wsl을 설치했다. 파워쉘이나 cmd에서 wsl을 입력하면 현재 디렉토리의 리눅스 커널로 이동한다. (홈 디렉토리에서 시작하고 싶다면 wsl ~ 을 입력하면 된다.) 리눅스 커널로 이동하자 마자 현재 경로에 /mnt 가 포함되어 있다. 그리고 그 mnt 디렉토리 내부에 현재 위치한 윈도우 경로가 나타난다. (관리자 모드로 시작해서 system32 폴더이다.) mnt는 보아하니 리눅스에서 윈도우 내부 디렉토리를 참조하기 위한 포인터로 보이는데 정확히 무엇일까? Mount mnt는 곧 Mount의 줄임말이다. 여기서 Mount란 운영체제에서 외부 하드웨어에 접근할 수 있도록 연결하는 것을 말한다. 간단하게 mount 명령어만 입력해도 리눅스에서 접근 가능한 하드웨..
hyunbae
'분류 전체보기' 카테고리의 글 목록