Digital Design [3] : 논리 회로 (Logical Circuit)
·
Computer Scinece/Computer Architecture & OS
1. 조합 논리조합 논리 회로(Combinational Logic Circuit)는 현재 입력에만 의존하여 출력을 결정하는 회로이다. 이는 순차 회로(Sequential Logic Circuit)와 달리 과거 상태에 대한 기억 요소가 없다. 이러한 회로는 여러 논리 게이트로 구성되며, 진리표나 부울 함수(Boolean Function)를 통해 기능을 명확히 정의할 수 있다. 조합 논리 회로의 기본 블록도는 입력, 논리 게이트 구성, 출력으로 구성된다. 회로 분석은 주어진 회로가 어떤 논리 기능을 수행하는지 이해하는 과정이다. 이를 위해 각 게이트의 출력을 의미 있는 기호로 라벨링하고, 단계별로 부울 함수를 유도한다. 최종 출력은 입력 변수만을 사용하여 표현된다. 진리표를 도출하는 경우, 가능한 모든 입력..
Digital Design [2] : 게이트 레벨 최소화 (Gate-Level Minimization)
·
Computer Scinece/Computer Architecture & OS
1. 게이트 레벨 최소화 (Gate-Level Minimization) 게이트 레벨 최적화란 디지털 회로를 구성하는 부울 함수(Boolean Function)를 최소화하여 가장 효율적인 게이트 구조를 찾는 과정을 말한다. 이를 위해 사용되는 대표적인 방법이 카노 맵(Karnaugh Map, K-Map)이며, 이 맵은 각 칸이 하나의 최소항(minterm)에 대응된다. K-Map은 일반적으로 2, 3, 4변수의 경우가 많이 쓰이며, 맵의 행과 열은 Gray Code 순서로 정렬되어 인접한 항에서 하나의 비트만 변경되도록 한다. 인접한 1들을 묶어 논리식을 간소화하며, 이때 최소한의 항 개수와 최소한의 리터럴 수를 가지는 표현이 목표가 된다.1.1 The Map Method (K-Map을 이용한 간소화 방법..
Operating System [2]: 프로세스 (Processes)
·
Computer Scinece/Computer Architecture & OS
1. Process 프로세스는 실행 중인 프로그램으로, 단순히 저장된 파일 형태의 프로그램과 다르다. 프로그램은 그저 디스크에 저장된 명령어 목록 (passive entity)일 뿐이지만, 실행되면 메모리에 올라가고 CPU가 이를 처리 (active entity)하면서 프로세스로 변한다. 예를 들어, 컴퓨터에 카카오톡이 설치되어 있다고 해도 실행하기 전까지는 단순한 파일에 불과하지만, 실행 버튼을 누르면 메모리에 로드되면서 프로세스가 되어 CPU와 메모리 등의 자원을 사용하게 된다. 프로세스는 프로그램 카운터를 통해 어떤 명령을 실행할지 관리하며, 운영체제가 이를 제어한다.1.1 Process in MemoryMemory Layout 메모리 레이아웃: 프로세스가 실행될 때 메모리에서 특정 구조로 구성됨텍..
Development Report : 웨어러블 생체 정보 기반 햅틱 피드백 알고리즘 개발
·
카테고리 없음
Development Report : XR 기반 ADHD AI 진단 파이프라인 개발
·
카테고리 없음
Development Report : 가우시안 스플래팅 유니티 원격 Putty 학습 자동화
·
카테고리 없음
Development Report : 360도 실시간 원격 VR 스트리밍 시스템 개발
·
Development/Development Report
개발 과정 - 티스토리개발 결과 - 깃허브 1. Insta 360 SDK 1.2 GPU 기반 하드웨어 가속   Insta360 카메라로부터 비디오 데이터를 스트리밍하고, FFmpeg을 활용해 하드웨어 가속을 통한 H.264 디코딩을 수행하며, NVIDIA의 CUDA 기반 디코딩을 지원한다. 또한, 디코딩된 데이터를 BMP 이미지로 저장하거나 원본 H.264 데이터를 파일로 저장하는 기능을 포함하고 있다. 더보기주요 라이브러리 및 헤더#include "Unity/IUnityGraphics.h"#include #include "camera/camera.h"#include "camera/device_discovery.h"extern "C"{#include #include #include #include } U..
Unity Development [1] : 게임 매니저 (Game Manager)
·
Development/3D Engine Development
Unity에서 게임매니저(GameManager)는 게임의 전반적인 흐름과 상태를 중앙에서 관리하는 역할을 한다. 일반적으로 싱글턴(Singleton) 패턴을 사용하여 하나의 인스턴스만 유지하도록 설계되며, 게임의 주요 시스템을 통합적으로 제어하는 기능을 수행한다. 게임매니저는 먼저 게임 상태를 관리하는 역할을 한다. 게임의 시작, 일시 정지, 종료 등의 흐름을 제어하며, 특정 이벤트(예: 플레이어 사망, 레벨 클리어)가 발생하면 적절한 동작을 수행하도록 한다. 또한, 점수, 플레이어 진행 상황, 설정 등의 데이터를 저장하고 불러오는 기능도 포함될 수 있으며, JSON 파일, PlayerPrefs, ScriptableObject 등을 이용하여 데이터를 관리한다. 씬 관리 역시 중요한 기능 중 하나이다. U..
Meta SDK [1] : VR 유저 인터페이스 (User Interface)
·
Toolkit/Meta SDK
Calculus [1]: 미분법 (Differentiation)
·
카테고리 없음
1. 삼각 함수와 도함수삼각함수의 도함수를 이해하기 위해서는 먼저 미분의 개념을 살펴볼 필요가 있다. 미분이란 어떤 함수가 특정 지점에서 얼마나 빠르게 변화하는지를 측정하는 과정이며, 이는 함수의 그래프에서 접선의 기울기를 구하는 것과 같다. 직선의 경우 기울기가 일정하지만, 삼각함수와 같은 곡선은 각 지점마다 기울기가 달라지므로 이를 구하는 과정이 필요하다. 특히 삼각함수의 도함수를 구할 때는 각의 단위가 반드시 라디안(radian)이어야 한다. 만약 도(degree) 단위를 사용할 경우, 미분의 정의에서 정확한 값을 얻을 수 없으며, 라디안을 사용해야만 삼각함수의 주기적인 성질을 제대로 반영할 수 있다. 우선 y=sin⁡x의 도함수를 구해보자. 미분의 정의에 따르면, 어떤 함수 f(x)의 도함수는 다..