전체 글238 [Math] 브레젠험 알고리즘 (Bresenham's algorithm) ■ 개념 및 배경 선 그리기 알고리즘 (line algorithm)의 대표 모델이다. 우리가 원하는 물체를 컴퓨터 스크린 화면에 나타내는 작업을 픽셀화(Rasterization)라고 한다. 데카르트 좌표계 위에 존재하는 벡터들을 스크린 좌표계로 옮겨주는 작업인데 이때 신경써야할 점들이 존재한다. 이름 데카르트 좌표계 (Cartesian coordinate) 스크린 좌표계 (Screen coordinate) 집합 실수 집합 (R) 양수 집합 (H) 성질 연속성 이산성 원소 벡터 픽셀 예시 그림 우리가 수학에서 일반적으로 사용하는 좌표계이다. 연속성을 가지고 있으며 무한한 실수로 이루어져 있다. 서로 독립된 픽셀 영역을 가진 스크린 좌표계이다. 0부터 시작하는 정수값을 가지고 데카르트 좌표계의 좌표를 스크린.. 2023. 12. 7. [Math] 내적, 램버트 반사, 시야각 판별 ■ 램버트 반사 램버트 반사 모델 (Lambertian reflection)이란 현실 세계와 비슷한 조명 효과를 주기 위해 고안된 방법이다. 계산량이 적어 속도가 빠르지만 그럴듯한 조명 효과를 줄 수가 있어 3차원 실시간 조명 구현에 널리 사용된다. 두 벡터 N, L의 내적을 사용하면 램버트 반사에 필요한 cos사잇각을 구할 수 있다. ■ 램버트 반사 (유니티 실습) 이해한 내용을 바탕으로 유니티에 0부터 구현해봤다. (구조) 1. Start에서 텍스처를 복사하여 새로운 스프라이트를 객체에 씌워준다. 2. 스프라이트의 픽셀(256x256) 하나하나를 대상으로 픽셀의 위치(표면)가 향하는 단위 벡터 n과 원점을 기준으로 공전할 mover의 위치에 따른 l값을 내적하여 사잇각 cosθ값을 구한다. 3. 기존.. 2023. 12. 6. [Math] 삼각함수 ■ 각도법, 호도법 각도법 (Degree) 호도법 (Radian) 180˚ π 180 / π˚ 1 1˚ π/180 90˚ π/2 60˚ π/3 45˚ π/4 120˚ 2π/3 ★ 왜 호도법을 배우냐면 컴퓨터에서 Sin, Cos, Tan을 다룰 때는 기본적으로 호도법을 기준으로 전개하기 때문이다. ■ 삼각비 (출처) https://en.wikipedia.org/wiki/Sine_and_cosine#/media/File:Circle_cos_sin.gif [간단한 공식] 1. Sin(θ) != Sin(-θ) 2. Sin(θ) = -Sin(-θ) 3. Cos(θ) = Cos(-θ) ■ 역함수 역함수가 존재하기 위해선 해당 함수는 전단사함수 이어야한다. 하지만 Sin, Cos, Tan 함수는 전단사 함수가 아니다.. 2023. 12. 3. [Diary] 23.11월 정리, 시험 합격 ■ 네트워크 관리사 2급 다행히 합격 했다 :) 자격증 관련 계획은 차질 없이 이루어지고 있다. ■ 11월 정리 현재 블로그에는 기록을 안하였지만, 삼각함수와 행렬, 아핀 공간, 내적 등 게임 실무에 적용할 수 있는 수학과 관련된 공부를 하고 있었다. 수학이 프로그래밍에 왜 필요한지 알게 되었고, 이를 실습해봄으로써 한 단계씩 성장할 수 있게 되었다.12월 중순까지 그래픽스와 수학을 다 끝내려고했으나, 가면 갈수록 더욱 어려운 내용들과 중간에 계속 생기는 약속과 크리스마스를 생각한다면 이번 달을 다 소비하되 한 번 할 때 정확히 이해하고 넘어가자 라는 생각을 하게 되었다 :) 진로에 대한 걱정과 두려움은 전혀 없어졌다. 마음을 비우고 내적으로 강한 사람이 먼저 되고자 생각하게 되었기에, 하루 이틀 .. 2023. 12. 3. [Computer Graphics] OpenGL, 더블 버퍼링 ■ 더블 버퍼링 요즈음 대부분의 GUI 프로그래밍에선 일반적으로 사용자에게 연속적인 이미지를 보여주기 위해 더블 버퍼링을 사용한다. 구성은 프론트(Front) 버퍼, 백(Back Buffer)가 있는데 프론트에서는 현재 프레임(마지막프레임)의 버퍼를 보관해주고 백에서는 이후에 (다음프레임) 보여줄 버퍼를 보관하고있다. [원리] 그러므로 CPU에서 GPU에게 그래픽 데이터를 전달해주면은 GPU에서는 BackBuffer에다가 해당 데이터에 맞게 객체를 그려준다음 SwapBuffer 등을 통하여 FrontBuffer와 BackBuffer를 교체하여 디스플레이에 띄워준다. [이유] 이렇게 까지 하는 이유는 무엇인가? 먼저 렌더링에는 (1) 내가 원하는 것을 그려줘 와 (2) 니가 그린 것을 보여줘의 두 가지 신.. 2023. 11. 16. [Computer Graphics] 공부 시작 및 목표 ■ Computer Graphics 3차원 물체를 보여준다는 것은, 기반이 되는 것은 3차원이지만 사진을 찍으면 2차원으로 변하는 것처럼, 우리 눈에 3차원 물체를 2D로 보여주는 것이다. 그래서 3D Computer Graphics라고 하고 렌더링 파이프라인 과정을 거쳐서 계산 후 나오는 결과 이미지를 '프레임 (fps; Frames Per Second)'이라고 한다. 컴퓨터 그래픽스의 종류는 크게 두 가지인데 내가 공부하고자하는 (1) 실시간 [온라인] 컴퓨터 그래픽스 와 (2) 비실시간 [오프라인] 컴퓨터 그래픽스이다. 종류 특징 실시간 컴퓨터그래픽스 시간으로 초당 30프레임 이상을 그려내야하기 때문에 작업을 간략화하고 GPU에서 집중해서 병렬처리를 하는 것이다. 이와 같은 실시간 그래픽스가 필요한.. 2023. 11. 16. [Diary] 23.9월 정리 : 정보처리기능사 결과, 장학금, 앞으로의 계획 ■ 정처기 결과정보처리 기능사 합격했다 :) ■ 학점은행제 장학금일단 예상치 못했는데 장학금을 받게 되었다. 장학금도 20만원이다. 적지 않은 용돈 자기 계발에 감사히 쓰겠습니다. 감사합니다 :) ■ 앞으로의 계획 현재 10월, 11월, 12월의 계획은 이렇다 1. K-MOOC를 통하여 딥러닝, 머신러닝과 응용 분야에 대한 적용 사례 등 양질의 강의를 무료로 접할 수 있는 기회를 활용할 예정이다. 기계 학습이 무엇인지 대충 겉으로만 알고있기에 내가 선택한 이 길이 올바른 길인지 중간중간 찝찝한 불안감이 생겨난다. 그러기에 여러 강의를 들어보고 정말로 이 분야가 나에게 맞는 지를 먼저 탐색한 뒤에 내년 부터는 원래 진행했던 머신러닝 관련 실습책을 마무리하고 한 분야에 대해서 깊게 파고들 생각이다. 2... 2023. 10. 3. [Diary] 23. 8월 정리 및 AWS, 정보처리, 학점은행제 1학기 후기 최근에 하남에 자취방을 구해 독립하였다. 많은 일들이있었다. 7월 중순 부터 차례대로 일어났다. 좋지 않은 집안일이 있었어가지고 독립하러 나온 뒤 멘탈이 버티질 못할 상황에서 공부를 할려고 책을 붙잡아도 집중이 안되었다. 그래도 계획했던 일들을 미루면 안되었기에 초반에는 마음을 진정시는 것에 시간을 조금 허비한 뒤 그 이후 정리 안된 마음을 최대한 붙잡고 정보처리, AWS 시험을 각각 3일 정도 준비하고 시험을 봤다. 학점은행제 또한 시험을 봤었다. 다행히 결과는 나쁘지 않았다 [학점은행제]다행히 올 A+이 나왔다. [AWS]AWS는 다행히 턱걸이로 합격했다. 유추해서 푸는 문제들보다는 서비스명-내용 을 이해 및 암기해야하는 것들이 워낙 많았고 D-1, D-2에 기출문제들을 많이 풀어봤음에도 불구하고 .. 2023. 8. 22. [Diary] 23년 7월 초반 [23. 07. 05] 6월에는 많은 일이 있어서 블로그 글을 꾸준히 못올리게 되었다. 조금 더 성실했다면 가능했을지도 모르지만 정보처리 시험과 학점은행제 7과목 과제와 중간고사 준비로 너무 정신 없었던 것 같았다. 7월이 끝나기 전 50일 수학을 완강하고 (구매한 교재 풀이 포함) 8월 부터는 수학 개념을 잘 잡아준 유투버의 영상들을 참고하며 이과 수학 전과정을 완독하려고한다. 물론 수학만 할 수는 없다. 기존에 계획했던 AWS 시험도 8월 22일로 예약해놨기에 하루에 최소 1시간씩은 공부할 예정이고 8월 12일에는 또 정보처리 실기가 있다;; 시간을 잘 쪼갠다면 세 가지 공부를 병행 할 수 있을 것 같다. 교양 2학기 과정이 7월 19일에 시작해서 1학기랑 겹학기라서 조금 부담되지 않을까 싶은데 1학.. 2023. 7. 5. 이전 1 ··· 9 10 11 12 13 14 15 ··· 27 다음