컴퓨터 용어 정리 76
-
개요두개 이상의 프로세스 , 스레드가 공유자원을 동시에 사용하려고 진행하려고 할 때 발생하는 현상을 말한다.예시 T1과 T2가 동시에 Input에 접근한다고 가정하자. 우리는 항상 일정한 결과를 얻고싶지만, T1과 T2가 동시에 메모리에 접근해서 1이나 2를 때려박는 상황이다. T2는 뭐가있던 2로 바꿔버리고, T2는 뭐가있던 1로 바꿔버리는 상황일 때. 누가먼저 데이터를 집어넣는지 알 수 없을 때 우리는 Out이 뭐가 나타날지 알 수가 없다. 또, 메모리를 처리하고 종료 할 때 비정상적으로 종료된다면 메모리의 데이터영역관리가 엉망진창이 되어버릴것이다. 이렇게 공유메모리를 동시에 접근하려고 하는 문제가 레이스컨디션 문제이다.
-
Inverse Kinematics(IK) 여기서 H를 움직인다고 가정한다.IK방식에서는 H를 움직이면, H -> K -> A -> SP2 ->SP1 -> Root 순서대로 움직임을 제어한다. 즉, H가 움직이면 그 상위에 있는 움직임에 한단계 씩 움직임을 제어하게 되는것 이다.움직이려는 관절부터 움직이면서 상위본 으로 움직임을 전파하는것을 IK라고 한다. 동작방식말단 관절 제어 캐릭터의 손이나 발 같은 말단 관절의 위치를 먼저 지정한다자동 계산나머지 관절의 회전값은 지정된 관절 위치에 도달하도록 자동으로 계산된다.편리성단순히 말단 관절을 움직이면 중간 관절들이 자동으로 적절히 배치된다.장점직관적이다.말단의 관절의 위치만 지정하고 움직이면 됨으로 직관적이고 쉽게 제어할 수 있다.시간 절약많은 관절을 쉽고 ..
-
Forward Kinematics(FK)여기서 H를 움직인다고 가정해본다.FK방식에서는 Root->SP1->SP2->A->K->H 순서대로 움직임을 제어한다. 즉, Root이 움직이면 그 하위에 있는 SP1부터 H까지의 모든 관절이 같이 움직이게 된다.가장 최우선의 관절부터 객체를 움직이게 되는걸 FK라고 한다. 동작방식순차적 관절 회전 캐릭터의 각 관절을 순차적으로 회전시켜 원하는 포즈를 만든다.직접 제어에니메이터가 관절별로 직접적으로 위치와 회전을 제어한다.예측 가능성각 관절의 회전이 직접적으로 영향을 주기 때문에, 결과를 예측하기 쉽다.장점단순하다.계산이 비교적 단순하기에 리소스가 적게든다. Root부터 나머지 본으로 연산을 더해버리면 되기때문.정밀 제어개별 관절을 직관적으로 정밀하게 제어할 수 있..
-
Big-O 표기법 프로그래머들은 알고리즘이나 코드가 어떤 성능을 가지는지 설명할 때 Big-O 표기법 을 이용한다. 이번에는 가능한 수학을 사용하지 않으면서 알고리즘 복잡도 분석과 Big-O 표기법에 대해 설명한다. Big-O표기법은 절대적인 성능이 아니라 상대적인 성능을 나타낸다. 예를들어 이 함수는 300밀리초 안에 작업을 완료한다고 하지 않고, 작업 대상 데이터 크기가 커질 때 소요시간에 따라서 커지는 비율이 어떻게 달라지는지 이야깋 ㅏㄴ다. 작업대상 데이터란 정렬할 숫자의 개수, 해시 맵에서 항목을 찾을 때 해시에 이미 들어있는 데이터의 개수, 파일으 ㄹ복사할 때 파일의 개수 따위를 말한다. Big-O 표기법은 입력 데이터가 존재하고 그 크기가 가변적인 알고리즘을 대상으로 한다. 입력 데이터가 없..
-
메모리 릭 (memory leak) 프로그램이 동적으로 할당한 메모리를 해제 하지 않고, 그대로 방치하는 상황을 이야기 한다. C++에서 new[]로 할당한 배열 형태의 메모리와 이를 해제하는 delete[]가 정확하게 수행되지 않았을 때, 발생한다. 메모리 누수의 영향 자원소모 메모리 누수가 계속되면, 사용가능한 메모리양이 감소하여, 시스템에 부하를 줄 수 있다. 프로그램 종료까지 남아있는 메모리 프로그램이 종료되기 전 까지는 할당된 메모리는 계속 남아있게 되어 불필요한 자원낭비가 이루어진다. 방지법 정확한 해제 delete[]를 항상 할당과 반대순서로 정확한 위치에서 호출하여 메모리 해제를 해야한다. 스마트 포인터 사용 C++11부터 제공되는 스마트포인터인 std::unique_ptr 또는 std::..
-
그래프로 이루어진 맵에서 Point to Point간의 최단경로를 찾는데 사용되는 알고리즘 중 하나이다. 각 노드간의 가중치가 존재하는 그래프에서 사용된다. 먼저, F, G, H 개념을 이해해야 한다. F는 결과값으로, G + H를 의미한다. G는 Start-> Now까지의 가중치 이다. H는 Now-> End까지의 가중치 이다. Node는Index, F, G, H, State, From 값을 가진다고 가정한다. Index는 Node의 번호를 의미한다. 1번node, 2번node 등을 이야기 한다. State는 Open, Close의 상태 두가지를 가진다. From은 전 Node의 Index값을 가진다. Node는 생성시 항상 Open으로 둔다. 순서 출발 노드 선택 출발노드를 선택하고, 선택노드까지의 ..