분류 전체보기 180

Joints

관절은 크게 가동관절(움직관절)과 부동관절(못움직관절)로 나뉜다. 일반적으로 관절은 가동관절만을 가리켜 말한다. 부동관절은 뼈결합, 섬유관절, 연골관절 로 구분할 수 있는데, 뼈결합은 두개골이나 골반(관골)과 같이 나뉘어져있지만 하나의 뼈로 붙어있는 모양새이며, 섬유관절은 팔이나 다리의 경골과 비골이 인대로 결합되어 있는 모양새, 연골결합은 좌우 치골결합이나 상하 추골사이의 원판(디스크)로 연결된 모양새를 말한다. 가동관절은 움직일 수 있는 방향에 따라 홑축관절(1축관절), 두축관절(2축관절), 뭇축관절(3축관절)로 분류된다. 팔을 예시로 들면 어깨뼈는 절구관절로 되어있으며, 이름에서 알 수 있듯이 구 모양이기 때문에 세 축 이상으로 회전 가능한 3축관절에 속한다. 팔꿈치의 경우 팔을 접었다 폈다 하는데..

Bones

인체의 뼈는 206개가 존재하며, 다양한 형태로 존재하며, 각 형태를 통해 분류된 기준은 아래와 같다. 분류명칭 기준 예시 장골 뼈의 양 끝인 골단과 가운데 긴 부분인 골간이 구분되는 긴 뼈 상완골(윗 팔), 경골(무릎 아래) 등 단골 모양에서 장축과 단축이 구별되지 않는 뼈 손이나 발 안의 뼈 등 편평골 편평한 판 모양의 뼈 장골(골반), 전두골(이마뼈) 등 불규칙골 장골, 단골, 편평골에 속하지 않는 모든 뼈 견갑골(어깨뼈), 추골(척추뼈) 등 함기골 뼈 안이 비어 공기가 차있는 뼈 전두골(이마뼈), 상악골(위턱뼈) 등 종자골 종자씨 모양의 벼 슬개골(무릎뼈), 두상골(손바닥아래) 등 척추의 경우, 머리부터 골반까지 이어치는 24개(26개)의 뼈로 구성되어있다. 이를 자세히 보면, 머리부터 가슴 위까..

Kinesiology

해부학(Anatomy)는 Gross Anatomy와 Functional Anatomy가 있는데, 그 중 후자가 Kinesiology와 관련되어있다. 운동기능학(Kinesiology)은 생리해부학에서 인체의 전체적인 시스템을 다루는 것과 달리 인간의 움직임에 포함되는 근육, 관절, 뼈에 관련된 해부학, 생리학, 역학에 대한 학문이다. 과거에는 생체역학(Biomechanics)라는 용어로 불렸다고 하나, 현재는 인체의 움직임에 물리학을 적용하는 분야로, 운동기능학의 하위 분야(?)로 쓰인다고 한다. 이러한 운동기능학은 의료분야, 체육분야에서 주로 사용되며, 이 분야와 관련된 기술자도 알아두면 좋다. 나같은 경우도, 게임 내 3D Human Model을 만들거나 움직이게 할 때, 좀 더 직관의 영역에서 만들고..

[α-001] 몬스터 체력바

탑다운 시점의 RPG게임에서 몬스터의 체력은 몬스터 위에 표시된다. 로스트아크의 경우 몬스터 모델 위에 하나, 화면 전체 기준 위에 하나 해서 총 두 개가 표시된다. 이러한 체력바를 구현하기 위해 아래와 같은 구조를 만들었다. 기본적으로 모든 몬스터의 이름 및 체력 정보는 [구조체] EntityInfo 를 상속하는 데이터 테이블에 저장된다. 새로운 엔티티는 모두 BaseCharacter를 상속하는 클래스로 이루어지며, BaseCharacter의 UpdateCharacterInfo 함수는 해당하는 데이터 테이블 값을 반환하게 되어있다. 즉, BaseCharacter를 상속한 새로운 엔티티는 아래와 같이 UpdateCharacterInfo 함수를 상속하여 몬스터 정보를 반환해야한다. UpdateCharact..

언리얼연습/α 2023.09.11

[기말고사] 11장. 인지신경과학

· 용어 프리뷰 용어 의미 편재화 (Lateralization) 뇌의 특정 기능들이 한쪽 반구에 더 집중되어 있는 현상이다. 예를 들어, 언어처리는 왼쪽 반구에 더 집중되어있다. 양분청취실험 참가자가 두 귀로 서로 다른 소리를 동시에 듣는 실험이다. 뇌의 편재화 관점에서 이 실험은 오른쪽 귀 우세성을 보여준다. 행동활성화체계(BAS), 행동억제체계(BIS) 보상과 처벌에 대한 반응을 제어하는 시스템으로, BAS는 긍정적 결과에 대한 동기 부여 촉진, 좌반구 이마엽 활동성 증가. BIS는 부정적 결과를 피하려는 행동 촉진, 우반구 이마엽 활동성 증가의 상태를 가진다. 윌리엄스 증후군 정상적인 지능을 가지지만, 언어 학습률이 낮아 언어적 표현, 그림 등에 어려움을 가진다. 언어학습 정도와 지능이 항상 상관되..

[기말고사] 12. DLL & DLL Injection

C에서 DLL을 만드는 방법은 /dll /out:.dll 를 컴파일 과정에 추가로 입력하는 것이다. 이 때, DLL을 실행하면 C 코드 내의 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)라는 함수가 자동으로 실행된다. 또한, C코드에서 명시적으로 DLL을 불러오고 해제하려면 LoadLibrary와 FreeLibrary 함수를 사용하면 된다. (windows.h) 이 떄, LoadLibrary로 DLL을 로드하고, GetProcAddress를 이용해 함수 포인터를 얻어 실행하는 방법은 Explicit Linking이라고 한다. 이것에 반대되는 방법도 존재하는데, 바로 Implicit Linking이다. include..

[기말고사] 10-11. PE & IAT

PE는 Portable Executable의 약어로 exe, dll 확장자를 가진 윈도우의 실행 파일의 형식이다. PE에는 메모리맵 구조, IAT, EAT, 프로그램 코드 등의 정보가 포함되어 있으며, PE 포맷을 가진 프로그램을 실행하면 이에 맞게 메모리를 로드하게 된다. Windows에서 실행되는 대부분의 파일은 PE 포맷으로 작성된다. PE 파일을 실행할 때, 파일 저장장치의 블록 크기와 메모리 페이지 크기의 차이로 인해, 메모리에 로드하는 과정에 기존보다 더 큰 크기의 공간을 차지하게 되는데, 이 때 오프셋을 유지하기 위해 Alignment를 사용한다. 이로 인해 PE 파일 내에는 'PE 파일에서 사용하는 오프셋'과 '메모리에서 사용하는 오프셋'에 대한 두 개의 Alignment 정보가 포함되어 ..

[기말고사] 9. 호출 규약

호출 규약(Calling Convention)이란, 함수 호출 방식 및 스택 관리에 대한 것이다. 함수 호출 방식은 x86(32비트)일 때와, x64(64비트)일 때가 조금씩 다르며, 인수 전달 방식은 임의로 cdecl, stdcall, fastcall 등의 다양한 컨벤션을 이용할 수 있다. Calling Convention 파라미터 전달 방식 스택 청소 __cdecl 스택 함수 반환 후, 원래 함수에서 __stdcall 스택 호출된 함수의 마지막 __fastcall 레지스터 + 스택 호출된 함수의 마지막 이 때, 함수에 대한 인수 전달에 기본적으로 스택을 사용하는 것은 x86 아키텍처이다. x64 아키텍처의 경우, 앞의 4개의 인수는 기본적으로 레지스터 rcx, rdx, r8d, r9d 를 통해 전달되..

[기말고사] 7. 제어문

Flag Register : 1비트로 쉽게 Boolean 값이다. 특정 상태 등을 알리기 위해 사용한다. 대표적으로... CF(Carry Flag) : 연산 과정에서 발생되는 Carry, Borrow. 즉 덧셈 뺄셈에서 나오는 올림 및 내림. PF(Parity Flag) : 결과 값의 1의 개수가 짝수면 1, 홀수면 0. 오류 검출에 사용됨 ZF(Zero Flag) : 연산 결과가 0이면 1, 아니면 0. 비교 연산에서 두 값이 같은지 확인 SF(Sign Flag) : 연산 결과의 부호를 나타냄. 음수면 1, 양수면 0. OF(Overflow Flag) : 오버플로우가 발생했으면 1, 아니면 0 이런 Flag Register들을 이용하는 주된 곳은 Jump Instruction이다. Jump Instru..

[기말고사] 13-14장. 영상 분석, 영상 압축(코딩)

· 내용 정리 영상 인식이란, 데이터의 특징을 통해 학습하여 새로운 데이터를 분류하는 과정이다. 주성분 분석(PCA, Principal Component Analysis)을 기반으로 얼굴 인식을 진행해보자. PCA는 고차원 데이터를 저차원 데이터로 투영하여 사용하는 것인데, 이를 위해 분산이 큰 축을 주 축으로 정의하여 투영한다. 이 때, M차원 공간에 존재하는 모든 벡터는 M 개의 기저벡터의 합으로 표현되며, 이 벡터를 주 축이 될 기저 벡터 e_j에 투영할 경우, 투영된 벡터의 값은 벡터의 전치행렬에 주 축 기저벡터를 곱한 값이 된다. 이 때, 주 축을 찾기 위해 각 차원에 대한 공분산 행렬(Convariance Matrix)를 만들고, 이 행렬을 이용하여 분산이 가장 높은 축을 찾을 수 있다. 주 ..

4-1공부/DIP 2023.06.17