본문 바로가기

전체 글32

3D Tiles 1.1 주요 포맷 정리 – glTF 2.0 개요glTF (GL Transmission Format)은 3D 콘텐츠의 효율적인 송수신 및 로딩을 위한 표준 파일 포맷입니다. JSON또는 Binary로 메타데이터를 정의하며, 바이너리(blob) 데이터를 통해 정점, 텍스처, 애니메이션 등의 실질 데이터를 포함합니다.텍스트(JSON) + 바이너리(Buffer) 구조파일 포맷:.gltf : JSON + 외부 bin + 외부 texture.glb : JSON + bin + texture를 하나의 바이너리로 내장⚠️ 주의: glTF 또는 GLB는 3D Tiles 포맷이 아니고, 3D Tiles 의 구성 요소가 될 수는 있습니다. glTF 객체 계층 구조glTF는 JSON 구조로 메타데이터를 표현하고, 바이너리로 실제 데이터(buffer)를 저장합니다.주요 .. 2025. 4. 17.
RNN·LSTM·GRU·CNN·Transformer 개념 정리 딥러닝이 다양한 분야에 활용되면서 텍스트, 음성, 이미지, 시계열 데이터와 같이 시간적 흐름이나 공간적 패턴을 가진 데이터를 다루는 일이 많아졌습니다. 이러한 데이터를 효과적으로 처리하기 위해 다양한 신경망 구조들이 제안되었고, 각 모델은 목적과 특성에 따라 다양한 분야에서 사용되고 있습니다. 이 글에서는 대표적인 딥러닝 모델인 RNN, LSTM, GRU, CNN, Transformer의 개념과 특징을 간단하게 정리해 보았습니다. (내용 중 잘못된 부분이 있다면 알려주시면 감사하겠습니다.) RNN (Recurrent Neural Network) RNN은 문장이나 음성처럼 순차적인 데이터를 처리하기 위해 고안된 구조입니다.이전 단계의 출력을 현재 입력과 함께 처리함으로써, 시간에 따라 정보를 누적하고 기억.. 2025. 4. 8.
[Ear Clipping] 다각형을 삼각형으로 쪼개는 방법 개요우리가 눈으로 보는 도형은 사각형, 오각형, 심지어 원이나 구처럼 생겼지만,컴퓨터 그래픽스의 세계에선 모든 도형이 결국 삼각형으로 쪼개집니다왜일까요?삼각형은 항상 평면 위에 존재하고, 수학적으로 안정적이며, GPU가 직접 처리할 수 있는 기본 단위이기 때문입니다. 이런 이유로 복잡한 다각형을 삼각형으로 나누는 과정, 즉 삼각화(Triangulation)는 컴퓨터 그래픽스, 게임, CAD, 심지어 로봇의 경로 탐색(Path Planning)까지 다양한 분야에서 사용됩니다. 이 글에서는 삼각화 알고리즘 중 하나인 Ear Clipping 알고리즘을 소개하고,그 원리와 구현 방법, 시각화를 통해 삼각화 과정을 직접 따라가 보겠습니다. Ear Clipping 알고리즘을 수행하기 위해서는 폴리곤이 그림1의 si.. 2025. 3. 28.
[역수 근사] 나눗셈이 곱셈보다 느린 이유 이 글에서는 "나눗셈이 역수를 근사적으로 계산하는 과정"에 대해 다룹니다.현재 아래 내용을 다루고 있지 않습니다. (따로 작성 할 예정)곱셈 알고리즘: Booth's Algorithm, Wallace Tree Multiplication)나눗셈 알고리즘: Restoring Division, Non-Restoring Division, SRT Division(Intel이 주로 사용) 목차정수 및 부동 소수점 곱셈 방법정수 및 부동 소수점 나눗셈 방법나눗셈이 더 느린 이유$0.1$과$\frac{1}{10}$은 같지만 다른 이유 (?)코드로 실제 연산 속도 비교요약 결론부터 말하면곱셈(*)과 나눗셈(/)의 연산 속도 차이는 나눗셈이 역수를 근사적으로 계산하는 과정과 하드웨어적인 차이에서 비롯됩니다. 곱셈은 덧셈과.. 2025. 3. 16.
부동 소수점 개념과 오차가 발생하는 이유 1991년 걸프전에서 패트리어트 미사일 방어 시스템의 부동소수점 연산 오류로 인해 미군 병사 28명이 사망하고 100여 명이 부상을 입었다. 패트리어트 시스템은 내부 클럭을 이용해 미사일의 궤적을 계산하는데, 0.1초를 부동소수점으로 저장하면서 이진수로 정확히 표현되지 않아 미세한 오차가 발생했고, 100시간 이상 가동되며 누적된 오차는 0.34초까지 증가해 결국 적 미사일의 위치를 잘못 예측하게 되었다. 이로 인해 요격에 실패했고 미사일이 미군 병영을 타격하며 큰 피해를 초래했다. 실제로 위와 같은 사건이 있었습니다. 사건의 발단은 32, 64비트로 제한된 컴퓨터에서 무한소수를 정확하게 나타내지 못하기 때문입니다. 해당 포스팅에서는 아래와 같은 내용을 알아보겠습니다.컴퓨터가 부동 소수점을 표현하는 방법.. 2025. 3. 9.
[Depth Buffer] 컴퓨터로 원근감을 표현하는 방법 원근감이란 멀고 가까운 거리에 대한 느낌. 미술에서는 색채·명암·선 등을 이용하여 나타냄. Depth Buffer란?3D 장면을 2D 화면(모니터)에 객체를 그릴 때(Rasterization) 카메라로부터 멀리 떨어진 객체를 먼저 그리고 가까운 객체를 다음에 그리도록 순서를 조절해야 원근감이 올바르게 표현된다. 하지만 같은 거리에 있는 두 객체가 서로 겹쳐 있다면, 물체 단위로 그리는 순서를 조절하는 것으로는 원근감을 제대로 표현할 수 없다. ⇒ 이 문제의 근본적인 해결 방법은 각 객체의 단위가 아닌 객체를 구성하는 삼각형의 픽셀 단위로 깊이를 비교하고 가까운 곳에 있는 픽셀만 그리는 것이다. 이 과정을 Depth Testing이라고 한다. Depth Testing은 각 픽셀의 깊이 값을 비교하여 더 가.. 2025. 3. 5.
[Jittering] 컴퓨터 그래픽이 깨지는 이유 JitteringJittering이란 3D 그래픽에서 부동소수점 정밀도 부족으로 인해 오브젝트가 미세하게 흔들리거나 깨지는 현상을 의미한다.대부분의 GPU는 64비트가 아닌 32비트 부동 소수점 값을 지원 및 최적화반면, CPU는 64비트 Double Precision(배정밀도) 사용CPU에서 Double Precision 연산을 활용GPU에서 지터링 제거RTC 사용, 이는 Double Precision 보다 메모리를 절약한다.⇒ 지터링을 제거하는 접근 방식IEEE 754: 컴퓨터에서 부동 소수점을 표현하는 가장 널리 쓰이는 표준. 다음과 같은 항목들을 정의.산술 형식: 유한한 수들(0을 포함한)과 무한대와 NaN(Not a number)값으로 구성된 2진수와 10진수의 부동소수점 데이터 집합형식의 교환.. 2025. 3. 3.
지구를 컴퓨터로 구현하는 방법 컴퓨터로 지구 또는 지구안에 있는 무언가를 표현하려면 경도, 위도같은 좌표가 필요하다.Cartesian Coordinates (데카르트 좌표계)Geographic Coordinates (지리적 좌표계) Geographic Coordinates (지리적 좌표계)Cesium에서는 Cartographic 객체spherical coordinate: (azimuth, inclination, radius) 로 표현 - (방위각, 경사도, 반경)geographic coordinates : (longitude, latitude, height) 로 표현 - (경도, 위도, 높이)경도: 서쪽에서 동쪽으로의 각도 (기준선 = 본초 자오선)본초 자오선 = 0º서쪽 = -180º동쪽 = +180º위도: 남쪽에서 북쪽으로의 각도.. 2025. 3. 1.
첫 커리어, 디지털트윈과 GIS [2024.12.16] 공간 정보와 디지털 트윈 공간 정보(GIS)와 디지털 트윈 기술을 접목한 회사 솔루션 부서에 입사했습니다. 디지털 트윈(Digital Twin)은 현실의 방대한 데이터를 실시간으로 수집·분석하여 컴퓨터 속에 '쌍둥이(Twin)'를 만들고, 시뮬레이션을 통해 가장 최적화된 비즈니스 의사결정을 내리게 돕는 고도화된 시스템입니다. 기후 변화나 자연재해처럼 통제가 불가능한 현실의 문제를 해결하기 위해, 소프트웨어 기술이 물리적 현실에 직접적인 솔루션을 제공한다는 점에서 큰 매력을 느꼈습니다. 현재 지구온난화는 갈수록 심각해지고 있으며, 자연은 여전히 통제하기 어려운 영역입니다. 그렇기에 이러한 기술은 반드시 필요하다고 생각했습니다. 컴퓨터공학을 선택한 이유 첫 번째는 2018년, Io.. 2025. 3. 1.
2024 TOPCIT 수준4 및 특별상 수상 후기 TOPCIT 이란?"TOPCIT 시험이 무슨 시험인가요?"라는 질문을 받은 기억이 있습니다. 나무위키 힘을 빌렸기에 “소프트웨어, 데이터베이스, 네트워크, 정보보안 그리고 커뮤니케이션과 관련된 내용들을 객관식, 주관식, 서술형 그리고 다이어그램을 그리는 등의 수행형 문제가 나오는 실제 현업에 필요한 문제 해결 능력을 검증하는 시험입니다.”라고 대답했습니다. TOPCIT [나무위키] TOPCIT 시험을 본 이유1. 현업 문제해결능력 검증 및 인증평소에 컴퓨터과학을 좋아했고, 꾸준히 공부했습니다. 근데 이 사실을 증명할 방법은 없었는데, TOPCIT 점수를 통해 증명하고자 했습니다.2. SW 마에스트로SW 마에스트로에서 프로젝트 기획, 중간, 최종 발표를 하고 평가점수가 높은 15명은 미국 CES에 보내줍니.. 2025. 3. 1.
SW 마에스트로 15기 합격 후기 SW 마에스트로에 합격했습니다! (2024.03.22) 서류 문항 및 합격 전략 문항:SW 분야의 전문성을 키우기 위해 몰입했던 경험과 도전이 무엇인지, 또한 이러한 성장 과정을 통해 얻은 배움은 무엇인지를 서술하여 주시기 바랍니다.(최소 400자, 최대 1000자 입력가능SW 마에스트로 과정 참여를 통해 어떠한 프로젝트를 수행하고 싶은가요? 해당 프로젝트를 수행하기 위한 계획과 이루고자 하는 목표가 무엇인지 구체적으로 서술하여 주시기를 바랍니다. 최소 400자, 최대 1000자 입력가능)개인적인 생각으로 최종 합격을 위해서는 서류가 제일 중요하다고 생각합니다.서류를 바탕으로 심층 면접에서 발표할 포트폴리오의 기반이 되기 때문에, 완성도 있는 서류를 제출하시는 것을 추천합니다.왜 개발자가 되고 싶은지?어.. 2025. 2. 28.