4장. 오픈지엘 API표준화 : 현존하는 문제들에 대해 공유성과 재사용성을 높이기 위해 규정을 제정하는 행위IOS표준의 컴퓨터그래픽스 : 컴퓨터 하드웨어와 소프트웨어를 사용하여 물체와 물체 영상을 생성, 변형, 디스플레이, 저장하는 것. 프로그램의 이식성을 높이는 것.주 전산기 독립성: 동일한 프로그램으로 다양한 H/W 지원장비 독립성: 입출력 장비 종류가 달라도 동일 기능을 수행하기 위한 명령은 동일프로그램 언어 독립성: 어떠한 프로그램 언어를 사용 가능해야 함운영자 이식성: 새로운 프로그램을 누구든지 쉽게 터득 가능해야 함 출력기본요소: 점, 선, 채움영역, 꺾은석, 표시 꺾은선, 문자기본요소 외양: 두께, 패턴, 색상, 글꼴 등기본요소 속성: 기본요소가 지니는 현재의 외양값 그래픽스 표준 4계층Lv..
'OpenGL로 배우는 3차원 컴퓨터 그래픽스' 책을 기반으로 정리한 글이다. 학교 중간고사 대비 보려고 요약한 1장. 컴퓨터 그래픽스컴퓨터 그래픽스 : 컴퓨터를 사용하여 그림을 생성하는 기술영상 처리 : 기존에 존재하는 그림을 개선 또는 인식 하는 분야CAD : 그래픽스 기술을 건물, 자동차 등의 설계에 이용하는 소프트웨어CAM : 제품 설계 데이터가 직접 수치 제어 기계로 입력되어 기계를 제어GUI : 컴퓨터 소프트웨어의 설계에 적용되는 분야 1950년대 : 출력장치에 그리는 것에 주목했다.1960년대 : 대화형 컴퓨터 그래픽 시스템 개념 도입. 그래픽 작업 처리는 DPU가 함.1970년대 : 레스터 그래픽 장치 등장. 그래픽 관련 알고리즘 다양화.1980년대 : 레스터 그래픽 장치 보급화. 기하 ..
Q1. 물체를 위로 날려 버리기 void Start() { this.GetComponent().AddForce(new Vector2(0, 800f)); } Q2. 물체가 점점 커지게 하기 using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { float scaleFactor = 1.005f; float scaleSpeed = 0.01f; float maxScale = 8.0f; // Start is called before the first frame update void Start() { //Q1: this.GetComponent..
0x00 Counting sort 그냥 각 수의 등장 횟수만 세어 정렬하면 된다. 정렬 알고리즘 중에서 가장 쉽다. 하지만 이 알고리즘은 만능이 아니다. 일단 카운팅 소트를 쓰려고 하면 각 수의 등장 횟수를 저장해야 한다. 그리고 등장 횟수를 세는 방법은 미리 큰 테이블을 만들어두고 수에 대응되는 원소의 값을 1 증가시켜서 처리하는 것이다. 만약 수가 0에서 9 사이라고 한다면 freq[10] 배열을 선언해서 처리할 수 있고 수가 0에서 9999사이라고 한다면 freq[10000] 배열을 선언해서 처리할 수 있다. 만약 수의 범위가 0에서 999,999,999 까지라고 하면 크기가 10억인 배열이 필요하므로 Counting Sort는 수의 범위가 대략 1000만 이하일때에만 쓰인다. 시간복잡도는 O(N+..
0x00 기초 정렬 정렬의 종류는 약 30개로 매우 많다. 여기서는 모든 정렬 알고리즘을 다 다루지는 않을거고 대표적인 몇 개만 다룰것이다. 크기순으로 정렬하려고 한다면 다음과 같이 생각해서 정렬할 수 있을것이다. 선택 정렬 버블 정렬 앞에서부터 인접한 두 원소를 보면서 앞의 원소가 뒤의 원소보다 클 경우 자리를 바꾸는 것을 반복하면 자연스럽게 제일 큰 것부터 오른쪽에 쌓이게 된다. 위에서 소개된 선택 정렬과 버블 정렬 외에 삽입 정렬이라는 것도 있는데 이들은 모두 O(N^2)에 동작하는 대표적인 정렬 방법이다. 하지만 N이 커질수록 이 방법들은 비효율적일 것이다. 그래서 정렬을 더 빠르게 수행할 수 있는 알고리즘들을 알아보겠다. 0x01 Merge Sort Merge Sort는 재귀적으로 수열을 나눠 ..
0x00 정의와 성질 트리 : 무방향이면서 사이클이 없는 연결 그래프(Undirected Acyclic Connected Graph) 0x01 BFS, DFS BFS DFS 0x02 이진 트리의 순회 레벨 순회 레벨순회는 BFS랑 같다고 보면 된다. 위에서부터 흝고 내려가는 순서이다. 위 예시 순서로는 1>2>3>4>5>6>7>8 이다. 전위 순회 순서 현재 정점을 방문한다. 왼쪽 서브 트리를 전위 순회한다. 오른쪽 서브 트리를 전위순회한다. 중위 순회 순서 왼쪽 서브 트리를 중위 순회한다. 현재 정점을 방문한다. 오른쪽 서브 트리를 중위 순회한다. 중위 순회는 왼쪽 서브트리 > 나 > 오른쪽 서브트리 순으로 처리하는 순회 방법이다. 후위 순회 순서 왼쪽 서브 트리를 후위 순회한다. 오른쪽 서브 트리를 ..
0x00 정의와 표현법 정의 그래프란 정점과 간선으로 이루어진 자료구조를 말한다. 차수는 각 정점에 대해서 간선으로 연결된 이웃한 정점의 개수이다. 그래프는 네비게이션에서 최단 경로 찾기, 혹은 구글 같은 검색엔진에서 랭킹 정하기와 같이 뭔가 원소 사이의 연결 관계를 설정해야 하는 상황에서 유용하게 활용될 수 있는 자료구조이다. 간선 그래프의 간선에는 방향성이 있을 수 있다. 왼쪽처럼 방향성이 없다면 무방향 그래프라고 하고 방향성이 있다면 방향 그래프라고 한다. 간선에 방향성이 있다는건 마치 일방통행 도로를 생각하면 된다. 방향 그래프에서도 차수라는 개념이 있는데 자기에게서 나가는 간선의 개수는 outdegree(차출 차수)이고 들어오는 개수는 indegree(진입 차수)이다. 그래프의 종류 사이클이란 ..
0x00 정의와 성질 트리는 위 그림처럼 계층 구조를 가지고 있고, 제일 꼭대기를 제외하고 각 동그라미들은 위로 딱 1개와 연결되어있는 구조 각 원소는 정점 or 노드 라고 부름 트리의 제일 꼭대기 정점을 루트(Root)라고 부름 제일 말단에서 아래로 뻗은게 없는 정점을 리프(Leaf)라고 부름 정점과 정점을 연결하는 선을 간선이라고 부름 간선으로 연결된 위 아래의 관계를 부모 자식 관계라고 부름(ex.3번 정점과 7,8번 정점은 부모 자식 관계) 어떤 한 정점에 대해 그 밑에 있는 정점과 간선만을 모은 트리를 서브트리라고 함 트리의 높이는 위 아래로 뻗어있는 정도를 나타냄 이진 트리,,, 각 노드의 자식이 2개 이하인 트리를 말한다. 자식이 2개 이하이기 때문에 자식을 왼쪽 자식과 오른쪽 자식으로 구분..