전체 글

전체 글

    오일러각, 3차원 회전 행렬 구하기

    오일러각, 3차원 회전 행렬 구하기

    오일러각 은 3차원 공간에서 물체의 방위를 표시하기 위한 3개 각도의 조합이다.

    선형 변환과 행렬

    선형 변환과 행렬

    벡터 공간에는 기저가 존재한다. 선형 변환이 주어지면 기저에 맟춰 행렬로 표현할 수 있다. 유한차원 벡터공간 -> 유한차원 벡터공간 선형 연산자는 행렬과 일대일 대응. x,y의 순서대로 각 x,y가 바뀔 값을 열에 꼽아서 넣어주면 행렬을 만들 수 있다.

    [C/C++]extern와 static

    extern은 외부 소스 파일에 선언된 전역변수, 함수를 사용할 때 사용합니다. extern은 전역변수가 파일 외부에 있다는 것을 표시만 할 뿐 전역변수 자체를 선언하지는 않습니다. 그래서 메모리를 잡지 않고 링커가 전역변수를 찾아 링크합니다. num.cpp int num = 10; void WriteNum() { std::cout

    [C/C++] C++에서 싱글톤을 사용하는 방법/Lazy initialzation

    싱글톤 패턴(Singleton Pattern) 어떤 클래스가 최초 한번 메모리를 할당한 후 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴 생성자가 여러번 호출되도 실제 생성된 객체는 하나고 최초 생성 이후 호출된 생성자는 최초에 생성한 객체를 반환 싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인패턴 장점 -사용하지 않으면 아예 인스턴스를 생성하지않음 -고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지 -전역 인스턴스이기 때문에 데이터를 공유하기 쉬움 -공통된 객체를 여러개 생성,사용할 경우 많이 사용 단점 -싱글톤 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유시킬 경우 다른 클래스의 인스턴스들 간에 결합도가 높아져 개방-폐쇠원칙을 위배하게..

    [C/C++] Precompiled Header(미리 컴파일된 헤더)

    [C/C++] Precompiled Header(미리 컴파일된 헤더)

    pch를 사용하는 이유는 빌드 프로세스의 속도를 높이는 것이다. windows.h 같은 큰 크기의 헤더 파일의 경우 매번 컴파일 하면 컴파일 시간이 매우 길어진다. 컴파일 시간을 줄이기위해 자주 바뀌지 않는 기본적인 라이브러리들을 컴파일러가 사전에 헤더파일들을 미리 컴파일 해 놓고 쓸 수 있게 하고있다. 컴파일 시간을 줄이기위해 사전에 컴파일한 결과물이 pch라는 확장자 명으로 저장된다. pch를 사용할 경우 pch로 지정한 헤더파일 및 소스 코드는 컴파일시에 컴파일 되지 않고 pch의 결과물을 가져다 사용한다. 결론적으로 헤더파일을 일일히 파싱하는 것보다 컴파일 속도가 빨라진다. visual studio 2017버전 이하 버전에서는 파일을 stdafx.h 라고 한다. pch를 만들고 난 뒤 수정할 일이..