728x90

분류 전체보기 274

게임에서의 삼각함수 활용

[게임이론] 삼각함수의 활용 (tistory.com) [게임이론] 삼각함수의 활용 definelife.tistory.com/search/%EC%82%BC%EA%B0%81 #define LIFE ZERO 인생 대 전환을 위한 기록, 프로그래밍과 IT 지식 소개 definelife.tistory.com 위의 삼각함수가 게임에서 어떻게 활용되는지 사례를 통해 알아본다. 1 definelife.tistory.com 게임수학) 게임을 만들때 삼각함수를 쓰는 예. (tistory.com) 게임수학) 게임을 만들때 삼각함수를 쓰는 예. 1. 원형 발사체. Vector2 dirVec = new Vector2(Mathf.Cos(Mathf.PI * 2 * i / roundNum) , Mathf.Sin(Mathf.PI * ..

게임에서의 외적과 내적

[유니티] 게임에서 Vector의 내적, 외적이 갖는 의의 (tistory.com) [유니티] 게임에서 Vector의 내적, 외적이 갖는 의의 보통 고등학교 때 기하와 벡터를 다루며 기본적으로 내적과 외적을 배우는데, 다들 전문적인 물리 엔진 제작과 같은 전문적인 업무가 아니면 쓸모없다고 생각하지만, 의외로 단순한 작업에서도 gnaseel.tistory.com 내적: A * B = |A| * |B| * cosX * 내적의 쓰임 1. 두 벡터 사이의 각도를 구할 수 있음 (ex) 퍼즐 슈팅게임) 2.물체가 앞에 있는지 뒤에 있는지 판별 가능 Cos은 좌, 우로 90도가 넘어가는 순간 음수의 값을 갖게 되기 때문 3.시야각 내에 물체 판별 플레이어 시야각이 x일 때, 플레이어의 시선과 오브젝터 위치벡터를 내..

스마트포인터 / 사이클 해결 방법

[C++] 스마트포인터(Smart Pointer) (tistory.com) [C++] 스마트포인터(Smart Pointer) RAII RAII는 C++에서 자주 쓰이는 idiom으로 자원의 안전한 사용을 위해 객체가 쓰이는 스코프를 벗어나면 자원을 해제해주는 기법이다. C++에서 heap에 할당된 자원은 명시적으로 해제하지 않으면 해 hmjo.tistory.com 스마트 포인터의 특징 자원을 획득한후, 자원 관리 객체에게 넘긴다 자원관리 객체는 자신의 소멸자를 사용하여 자원이 확실하게 해제 되도록 한다 버그 보완(안전), 자동청소, 자동 초기화를 해준다 스마트 포인터는 C++에서 안전하고 효율적인 코드를 작성하는데 유용하다 delete를 이용해 직접 메모리를 해제하지 않고, 스마트 포인터의 소멸자에 존재..

CS/C++ 2023.12.08

버퍼 오버플로우

버퍼 오버플로란? | Cloudflare 버퍼 오버플로: 버퍼에 데이터를 쓰는 소프트웨어가 버퍼의 용량을 초과하여 인접한 메모리 위치를 덮어쓸 때 발생하는 비정상적인 현상 공간이 충분하지 않은 컨테이너에 너무 많은 정보가 전달되어 결국 해당 정보가 인접한 컨테이너의 데이터를 대체하게 되는 것 프로그램 실행을 방해하거나 제어하기 위해 컴퓨터의 메모리를 수정하려는 공격자가 악용할 수 있음.

CS/C++ 2023.12.08

함수 호출 stack frame 관련

[자료구조] 스택 프레임(Stack Frame) (velog.io) [자료구조] 스택 프레임(Stack Frame) 함수가 호출될 때 스택에 생성되는 공간인 스택 프레임 (Stack Frame) velog.io 스택 프레임(Stack Frame) 함수가 호출될 때, 그 함수만의 스택 영역을 구분하기 위하여 생성되는 공간이다. 메모리의 스택 영역은 함수의 호출과 관계되는 지역 변수 및 매개변수가 저장되는 영역이다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸한다.

CS/C++ 2023.12.08

전방선언이 필요한 이유?

C++ 전방 선언 :: Gyong (tistory.com) C++ 전방 선언 전방 선언 -> 외부 파일 어딘가에 해당 클래스가 존재한다고 알려주는 역할 다양한 파일들을 만들고 서로 엮는 과정에서 불필요한 파일의 정보까지 가져오는 상황이 발생한다. 이를 해결하기 위 gyong0.tistory.com 코딩맛집 :: [C++] 전방선언 (Forward Declaration) (tistory.com) [C++] 전방선언 (Forward Declaration) C++에서 미리 함수를 정의하지 않으면 순차적으로 코드를 읽어들여 오류를 발생시킨다. (식별자 찾을 수 없음) 그러나 전방선언이 이뤄졌다면 컴파일러는 오류 없이 지나간다. C++ 전방선언 (Forwar coding-restaurant.tistory.com ..

CS/C++ 2023.12.08

부모클래스 소멸자를 virtual로 만들지 않으면?

C++에서 소멸자에 virtual을 사용하는 이유는? (tistory.com) C++에서 소멸자에 virtual을 사용하는 이유는? C++에서 소멸자에 virtual을 사용해야 하는 이유는 뭘까? 우선 ClassA를 부모 클래스, ClassB를 ClassA를 상속하는 자식클래스라고 할때 생성자와 소멸자는 다음과 같이 호출된다. ClassB *B = new ClassB (A 생 life-inus.tistory.com ClassA = 부모 클래스 / ClassB = ClassA를 상속하는 자식클래스라고 할때 ClassB *B = new ClassB (A 생성자 -> B 생성자) delete B (B 소멸자 -> A 소멸자) 생성자와 소멸자는 이 순서로 호출됨 if 다형성 이용을 위해 ClassA 포인터에 자..

CS/C++ 2023.12.08

메모리 단편화

메모리 단편화(Memory Fragmentation)가 무엇이고 왜 발생하는가? (tistory.com) 메모리 단편화(Memory Fragmentation)가 무엇이고 왜 발생하는가? 메모리 단편화가 무엇이고 왜 발생하는가? 메모리 단편화 - RAM에서 메모리의 공간이 작은 조각으로 나뉘어져 사용가능한 메모리가 충분히 존재하지만 할당(사용)이 불가능한 상태를 보고 메모 jeong-pro.tistory.com 컴퓨터에서 프로그램을 실행하거나 작업을 할 때 컴퓨터는 메모리에 해당 프로그램을 올리고 실행을 하게 됨 이때 주기억장치 상에서 빈번하게 기억 장소가 할당되고 반납됨에 따라 메모리 공간이 작은 조각 공간으로 나뉘게 될 경우, 사용 가능한 메모리가 충분함에도 불구하고 메모리 할당이 불가능한 상태가 발생..

CS/운영체제 2023.12.07
728x90