전체 글

주제 상관없이 작성하고 싶은 글들을 작성합니다.
사용한 메인 알고리즘 : 탐욕 알고리즘(greedy algorithm) #include using namespace std; int main() { int Pay; int result=0; cin >> Pay; Pay = 1000 - Pay; result += Pay / 500; Pay %= 500; result += Pay / 100; Pay %= 100; result += Pay / 50; Pay %= 50; result += Pay / 10; Pay %= 10; result += Pay / 5; Pay %= 5; result += Pay / 1; cout
기하학적 변환(geometric Transformations) 이번 내용은 그래픽스에 있어서 엄청나게 중요합니다. 이번 내용을 알게 된다면, 많은 것들을 할 수 있습니다. 여러분들에게 날개를 달아줄 것입니다. 자 그럼 시작해 봅시다.ㅎㅎ 변환에 대해서 이야기해봅시다. 변환이란 무엇일까요? 변환(Transformations) :물체를 화면상에서 어디에 보여줄 건지에 대한 문제, 실제 화면상에 배치하는 문제 라고 할 수 있습니다. 즉, 다시 말해서 어떤 만들어진 물체의 위치를 바꾸거나, 방향을 바꾸거나, 종횡비를 바꾸는 문제입니다. 임의의 어떤 물체의 크기나, 위치를 바꿔야 할 때 어떻게 바꿀 수 있을지에 대해서 이야기해 볼 예정입니다. 아래는 변환의 예시 이미지입니다. 왼쪽의 이미지는, 사각형의 크기를 늘..
C/C++에서의 static 선언 static키워드를 사용하게 되면, static키워드를 선언한 변수는 전역변수와 유사하게 사용이 가능하다. 사실 전역 변수와 그 성격이 같다. static키워드를 사용하게 되면, 프로그램 시작과 동시에 할당 및 초기화가 되고, 프로그램이 종료될 때까지 메모리 공간에 남아있게 된다. static변수가 전역변수랑 그 성격이 같은데 왜 전역변수 대신에 static 변수를 사용하는지 의문이 들 것이다. 그것은 static변수가 전역변수에 비해서 좀 더 안정적인 코드를 작성 할 수 있게 해준다. 아래 예시 코드를 보자. #include using namespace std; void simple(void) { static int number = 0; //static 변수 선언 in..
알고리즘이란 어떤 일이나 문제를 해결하기 위한 절차나 방법이다. 같은 결과를 도출하지만, 문제를 어떤 방식으로 해결했는가에 따라서 좋은 알고리즘과 그렇지 못한 알고리즘으로 평가할 수 있다. 예를 들어서, 1부터100까지 더하는 문제가 있다고 가정해보자. 이 문제를 2가지 방식으로 해결해보겠다. 1)단순 계산. 말 그대로 1부터 100까지 차례대로 더하는 방법이다. 풀이) 1 + 2 + 3 +…+ 100 = 5050 더하기 연산을 99번 해야 한다. 2) 수학적인 방법 아래 공식을 이용할 것이다. 풀이) 100(100+1)/2 = 5050 연산 3번만에 답을 찾아냈다. 위의 2가지 방법은 같은 5050이라는 결과가 나왔지만, 연산을 하는 횟수에서 큰 차이가 있다. 같은 결과를 얻는데 어떤 방법을 선택하는 ..
저번까지는 전반적인 소개였다면, 지금부터는 본격적인 그래픽스에 대해서 시작해보고자 합니다. 그래픽과 그래픽스의 차이는 무엇일까. 그래픽은 시각적인 모든 것을 의미하고 그래픽스는 그래픽을 다루는 학문분야이다. 그래픽이 먼저고 그 다음이 그래픽스가 나왔다고 할 수 있다. 기본 그래픽스 시스템(Basic Graphics System) 입력기기(Input devices) 처리장치(Processor) 메모리(Memory) 프레임 버퍼(Frame buffer) 출력장치(Output devices) 그래픽스의 기본적인 장치로는 여러가지가 있겠지만 기본적인 것들은 위의 5가지이다. 대략적인 과정을 그림으로 표현해 보았다. 프레임 버퍼를 처음 들어보는 사람이 있을 수 있습니다. 간단하게 설명하자면, 프레임버퍼는 메모리의..
컴퓨터 그래픽스라고 하면 전통적으로 3가지 분야가 있습니다. 1.모델링(Modeling) 2.렌더링(rendering) 3.애니메이션(Animation) 각각에 대해서 한번 보도록 하겠습니다. 모델링) 모델링 이라는 것은 실제 세상에 있는 것을 data로 바꾸는 과정입니다. 쉽게 생각하면, Maya, 3dMax, Z-brush와 같은 프로그램들로 어떤 가상의 물체를 만드는 것입니다. 렌더링) 렌더링이라고 하면 뭔가를 만드는 것입니다. 분야마다 조금씩 차이는 있기는 하지만, 여기서 말하려는 컴퓨터 그래픽스 분야에서는 data를 어떤 image로 만드는 과정이라고 이해하면 됩니다. 애니메이션) 애니메이션은 간단하게 image를 움직이게 만드는 분야입니다. 한장한장씩 그림을 그려서 만드는 일본의 애니메이션과 ..
컴퓨터 그래픽스란 무엇일까요? 위키피디아를 찾아보면 다음과 같습니다. 간단하게 말하자면, 컴퓨터 그래픽스(computer graphics)는 컴퓨터 과학의 분야 중 하나입니다. 화면에 그림을 그리고, 조작하는 문제들을 컴퓨터로 해결해 보자! 라는 것에서 부터 시작했습니다. 컴퓨터 그래픽스에 대해서 들어본적 있으신 분들이라면, 컴퓨터비전 이라는 것도 아마 들어보셨을 거라고 생각합니다. 컴퓨터 그래픽스와 컴퓨터 비전은 서로 밀접한 관련이 있습니다. 컴퓨터 그래픽스는 어떤 data를 가지고 그림을 만들어내는 것입니다. 예를 들자면, 영화에서 쉽게 찾아볼 수 있는 CG 같은 것이 있습니다. 물론 게임에서도 쉽게 찾아 볼 수 있습니다. 그렇다면 컴퓨터비전은 무엇일까요. 컴퓨터비전은 컴퓨터 그래픽스와 반대로 이미지..
컴퓨터 그래픽스에 대해서 차례대로 글을 써볼 예정입니다. 저도 배우는 중이니 만큼 부족한 부분이 있을 수도 있지만, 기록해 나가려고 합니다. 이후의 내용에 코드를 작성하는 부분이 있는데, C언어의 기본적인 것들 정도만 알면 됩니다. 굳이, 프로그래밍 부분을 몰라도 이론적으로 어떤건지만 이해해도 충분하다고 생각합니다. 그냥 가벼운 마음으로 이런것도 있구나 하고 읽는 것도 좋습니다.
ya_ya
기록노트