Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

2차원 컴퓨터 그래픽: 시각적 영역 탐색: 컴퓨터 비전의 2차원 컴퓨터 그래픽
2차원 컴퓨터 그래픽: 시각적 영역 탐색: 컴퓨터 비전의 2차원 컴퓨터 그래픽
2차원 컴퓨터 그래픽: 시각적 영역 탐색: 컴퓨터 비전의 2차원 컴퓨터 그래픽
Ebook229 pages1 hour

2차원 컴퓨터 그래픽: 시각적 영역 탐색: 컴퓨터 비전의 2차원 컴퓨터 그래픽

Rating: 0 out of 5 stars

()

Read preview

About this ebook

2차원 컴퓨터 그래픽이란?


2D 컴퓨터 그래픽은 주로 2차원 모델과 해당 모델에 특정한 기술을 사용하여 컴퓨터 기반의 디지털 이미지를 생성하는 것입니다. 이는 그러한 기술을 포함하는 컴퓨터 과학 분야 또는 모델 자체를 의미할 수 있습니다.


당신이 얻을 수 있는 혜택


(I) 다음 주제에 대한 통찰력 및 검증:


1장: 2D 컴퓨터 그래픽


2장: 직교행렬


3장: 타원체


4장: 회전(수학)


5장: 변환 행렬


6장: 회전 행렬


7장: 3차원 회전 형식


8장: 축 각도 표현


9장: 운동학


10장: 3차원 회전 연산자


(II) 2차원 컴퓨터 그래픽에 관한 대중의 주요 질문에 답합니다.


(III) 다양한 분야에서 2차원 컴퓨터 그래픽을 사용하는 실제 사례.


이 책은 누구를 위한 책인가


전문가, 학부 및 대학원생, 매니아, 취미생활자 및 모든 종류의 2차원 컴퓨터 그래픽에 대한 기본 지식이나 정보를 넘어서고 싶은 사람들.

Language한국어
Release dateMay 5, 2024
2차원 컴퓨터 그래픽: 시각적 영역 탐색: 컴퓨터 비전의 2차원 컴퓨터 그래픽

Related to 2차원 컴퓨터 그래픽

Titles in the series (100)

View More

Related ebooks

Reviews for 2차원 컴퓨터 그래픽

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    2차원 컴퓨터 그래픽 - Fouad Sabry

    챕터 1: 2D 컴퓨터 그래픽

    일반적으로 2차원 모델(예: 2D 기하학적 모델, 텍스트 및 디지털 이미지)에서 컴퓨터에서 디지털 이미지를 생성하고 이러한 유형의 모델에 맞게 조정된 방법을 사용하는 것을 2D 컴퓨터 그래픽이라고 합니다. 모델 자체 또는 모델을 포함하는 컴퓨터 과학 분야를 의미할 수 있습니다.

    타이포그래피, 지도 제작, 기술 도면, 광고 등은 모두 2D 컴퓨터 그래픽을 기반으로 구축된 응용 프로그램의 예입니다. 이러한 경우 2차원 모델이 3차원 컴퓨터 그래픽보다 선호되는데, 이는 이미지를 보다 직접적으로 제어할 수 있기 때문입니다. 이는 2차원 이미지가 단순히 실제 물체를 표현하는 것 이상이기 때문입니다. 또한 추가적인 의미론적 가치를 가지고 있습니다(타이포그래피보다 사진에 더 가까운 접근 방식).

    2D 컴퓨터 그래픽 기술을 기반으로 한 문서 설명은 전자 출판, 엔지니어링 및 비즈니스를 포함한 많은 분야에서 해당 디지털 이미지보다 훨씬 작을 수 있습니다. 이 표현은 다양한 출력 장치를 수용하기 위해 다양한 해상도로 렌더링될 수 있기 때문에 더 다재다능합니다. 이것이 2D 그래픽 파일이 일반적으로 문서와 이미지를 보관하고 전송하는 데 사용되는 이유입니다.

    1950년대의 벡터 그래픽 장치는 최초의 2D 컴퓨터 그래픽을 위한 길을 열었습니다. 그 후 수십 년 동안 래스터 기반 장치가 표준이 되었습니다. 이 분야에서 가장 중요한 두 가지 혁신은 PostScript 언어와 X Window System 프로토콜입니다.

    기하학적 모델(벡터 그래픽이라고도 함), 디지털 이미지(래스터 그래픽이라고도 함), 조판할 텍스트(내용, 글꼴 스타일 및 크기, 색상, 위치 및 방향으로 설명됨), 수학 함수 및 방정식 및 기타 유형의 정보를 모두 2D 그래픽 모델에서 조합할 수 있습니다. 평행 이동, 회전 및 크기 조정과 같은 2차원 기하학적 변환을 통해 이러한 부품을 쉽고 정확하게 조작할 수 있습니다. 이미지 픽셀에 색상을 임의로 할당하는 프로세스인 자체 렌더링 방법을 사용하는 개체는 개체 지향 그래픽으로 이미지를 설명합니다. 객체 지향 프로그래밍 패러다임에서 복잡한 모델은 하위 모델에서 구성됩니다.

    유클리드 기하학의 원리, 기하학에서 평행 이동은 모든 점을 특정 방향으로 고정된 거리만큼 이동합니다.

    강체 운동의 한 가지 유형은 변환입니다. 다른 유형으로는 회전과 반사가 있습니다.

    평행 이동을 각 점에 상수 벡터를 추가하는 프로세스로 생각하거나 좌표계의 원점이 이동된 것처럼 생각할 수도 있습니다.

    변환 연산자 는 다음과 같은 T_\mathbf{\delta} 연산자입니다. T_\mathbf{\delta} f(\mathbf{v}) = f(\mathbf{v}+\mathbf{\delta}).

    v가 상수 벡터인 경우 변환 Tv  는 Tv(p) = p + v로 작동합니다.

    이론적으로 T가 평행 이동이고 A가 부분 집합이고 T가 함수인 경우 T에 의한 A의 평행 이동은 T 아래의 A의 이미지입니다.

    A by Tv 의 번역은 종종 A + v로 표기됩니다.

    유클리드 공간에서의 모든 번역도 아이소메트리입니다. 모든 번역의 집합을 번역 그룹 T라고 하며, 공간 자체(n)와 동형인 유클리드 그룹 E의 일반 하위 그룹입니다. 직교 그룹 O는 T에 의한 몫 그룹 E(n)의 동형입니다.

    E(n ) / T ≅ O(n ) 입니다.

    선형 변환과 달리 변환은 아핀 변환이며, 변환 연산자는 일반적으로 행렬로 표현되어 동종 좌표가 사용될 때 선형으로 만듭니다.

    따라서 4개의 동차 좌표 를 w = (wx, wy, wz, 1)로 사용하여 3차원 벡터 w = (wx, w, y, wz)를 씁니다.

    각 동종 벡터 p(동종 좌표)는 객체가 벡터 v로 변환되는 경우 이 변환 행렬을 곱해야 합니다.

    T_{\mathbf{v}} = \begin{bmatrix} 1 & 0 & 0 & v_x \\ 0 & 1 & 0 & v_y \\ 0 & 0 & 1 & v_z \\ 0 & 0 & 0 & 1 \end{bmatrix}

    곱셈의 곱은 아래 표와 같습니다.

    T_{\mathbf{v}} \mathbf{p} = \begin{bmatrix} 1 & 0 & 0 & v_x \\ 0 & 1 & 0 & v_y\\ 0 & 0 & 1 & v_z\\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} p_x \\ p_y \\ p_z \\ 1 \end{bmatrix} = \begin{bmatrix} p_x + v_x \\ p_y + v_y \\ p_z + v_z \\ 1 \end{bmatrix} = \mathbf{p} + \mathbf{v}

    평행 이동 행렬의 역행렬을 찾으려면 벡터의 방향을 뒤집기만 하면 됩니다.

    T^{-1}_{\mathbf{v}} = T_{-\mathbf{v}} . \!

    마찬가지로, 벡터를 곱하면 두 평행 이동 행렬의 곱이 생성됩니다.

    T_{\mathbf{u}}T_{\mathbf{v}} = T_{\mathbf{u}+\mathbf{v}} . \!

    평행 이동 행렬의 곱셈은 벡터 덧셈이 가환적이기 때문에 가환적입니다(임의의 행렬의 곱셈과 달리).

    선형 대수학에서 회전 행렬은 유클리드 공간에서 물체를 회전시키는 행렬입니다.

    R={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}

    데카르트 좌표계의 원점을 기준으로 각도 θ 를 통해 xy-데카르트 평면의 점을 시계 반대 방향으로 회전 합니다.

    회전 행렬 R은 회전에 영향을 미치는 데 사용되며, 각 점의 좌표는 점의 좌표로 구성된 수직 방향의 벡터로 표현되어야 합니다.

    행렬 곱셈 Rv는 회전된 벡터를 생성합니다.

    명확히하기 위해 0 벡터 (즉)는 0도 좌표를 기반으로하는 행렬 곱셈의 영향을받지 않습니다. 좌표계의 원점을 중심으로 한 회전만 회전 행렬을 통해 설명할 수 있습니다.

    이러한 회전은 회전 행렬의 도움으로 대수적으로 쉽게 설명할 수 있으며 기하학적 계산, 물리학 및 그래픽 인터페이스에서 중요한 역할을 합니다.

    평면의 한계 내에서 회전은 회전의 각도 θ로 간단히 설명할 수 있으며 , 또는 22개의 회전 행렬의 4개 항목을 사용하여 나타낼 수 있습니다.

    세 번째 차원과 관련하여, 오일러의 회전 정리 (Euler's rotation theorem)를 참조하십시오.이 정리는 모든 회전이 변하지 않는 단일 축에 대한 각도 회전으로 재구성 될 수 있으며, 이는 각도와 3 요소 벡터로 축소 될 수 있습니다.

    그러나 33 회전 행렬의 9개 항목으로 나타낼 수도 있습니다.

    3보다 큰 차원에서는 회전이 거의 사용되지 않습니다. 회전 변위는 이야기할 수 있는 것으로, 매트릭스를 사용하여 표현할 수 있으며 이와 관련된 단일 축이나 각도가 없습니다.

    회전 행렬은 항목이 모두 실수인 정사각형 행렬입니다. 더 정확하게 말하면 행렬식-1 직교 행렬입니다.

    R^{T} = R^{-1}, \det R = 1\, .

    모든 nxn 특수 직교 행렬의 집합은 SO(n)이라는 그룹을 형성합니다.

    다음은 모든 2차원 회전 행렬이 취하는 형태입니다.

    R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}} .

    다음 행렬을 곱하면 열 벡터가 회전합니다.

    {\begin{bmatrix}x'\\y'\\\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \\\end{bmatrix}}{\begin{bmatrix}x\\y\\\end{bmatrix}}

    .

    회전 후 원래 점(x,y)의 좌표는 다음과 같습니다.

    x'=x\cos \theta -y\sin \theta \, , . y'=x\sin \theta +y\cos \theta \,

    벡터 회전 방향은 θ가 양수인 경우 시계 반대 방향입니다(예:

    90°), θ가 음수이면 시계 방향으로(예:

    -90°).

    R(-\theta )={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \\\end{bmatrix}}\,

    .

    오른손 데카르트 시스템의 경우 x축을 따라 오른쪽으로, y축을 따라 위쪽으로 회전하는 R(θ)은 시계 반대 방향입니다.

    왼손잡이 데카르트 시스템이 작동하려면 x가 오른쪽을 가리키고 y가 아래를 가리키면 R(θ)는 시계 방향입니다.

    수학에서는 이러한 특이한 관점이 거의 사용되지 않지만 2D 컴퓨터 그래픽에서는 일반적으로 왼쪽 상단에서 시작하여 페이지 아래로 시계 방향으로 이동하는 것이 일반적입니다.

    행렬에 의해 생성된 회전의 의미를 변경하는 다른 가능한 규칙은 아래에 설명되어 있습니다.

    특히 유용한 것은 90° 및 180° 회전을 위한 행렬입니다.

    R(90^\circ) = \begin{bmatrix} 0 & -1 \\[3pt] 1 & 0 \\ \end{bmatrix} (시계 반대 방향으로 90° 회전)

    R(180^\circ) = \begin{bmatrix} -1 & 0 \\[3pt] 0 & -1 \\ \end{bmatrix} (어느 방향으로든 180° 회전 – 반 회전)

    R(270^\circ) = \begin{bmatrix} 0 & 1 \\[3pt] -1 & 0 \\ \end{bmatrix} (시계 반대 방향으로 270° 회전, 시계 방향으로 90° 회전과 동일)

    등방성 스케일링, 균질 팽창 및 균질성이라고도 하는 균일 스케일링은 모든 방향에서 동일한 스케일 팩터로 물체를 확대하거나 축소하는 유클리드 기하학의 선형 변환입니다. 모든 것을 동일한 비율로 축척할 때 최종 결과는 원본과 기하학적으로 유사합니다. 대부분의 경우 합동 모양은 축척 비율 1을 사용하여 비슷하게 처리할 수 있습니다. (일부 교과서에서는 정사각형이 직사각형이거나 원이 타원일 가능성을 배제하는 것처럼 일부 교과서에서는 이를 명시적으로 배제합니다.)

    보다 일반적인 방법은 각 축에 대해 다른 축척 비율을 사용하는 것입니다. 스케일링 인자 중 적어도 하나가 다른 스케일링과 구별되는 경우 비균일 스케일링(이방성 스케일링, 비균질 팽창)이 있습니다. 방향 크기 조정 또는 스트레칭은 이것의 특별한 경우입니다(한 방향으로). 오브젝트의 크기가 균일하지 않게 조정되면 결과적으로 모양이 변경됩니다. 예를 들어, 변이 스케일링 축과 평행하지 않은 정사각형은 사각형 또는 평행사변형이 됩니다(축에 평행한 선 사이의 각도는 유지되지만 모든 각도는 유지되지 않음).

    스케일링 매트릭스는 스케일링의 표현입니다.

    벡터 v = (vx, vy, vz)로 객체의 크기를 조정하려면 각 점 p = (px, py, pz)에 다음 크기 조정 행렬을 곱해야 합니다.

    S_{v}={\begin{bmatrix}v_{x}&0&0\\0&v_{y}&0\\0&0&v_{z}\\\end{bmatrix}}.

    곱셈의 곱은 아래 표와 같습니다.

    S_{v}p={\begin{bmatrix}v_{x}&0&0\\0&v_{y}&0\\0&0&v_{z}\\\end{bmatrix}}{\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\end{bmatrix}}={\begin{bmatrix}v_{x}p_{x}\\v_{y}p_{y}\\v_{z}p_{z}\end{bmatrix}}.

    3단계 축척은 객체의 치수를 다음과 같이 수정합니다. 즉, 물체의 지름은 축척 계수 사이의 계수만큼 감소하고, 표면적은 두 축척 계수의 가장 작은 곱과 가장 큰 곱 사이의 계수만큼 증가하며, 부피는 세 축척 계수 모두의 곱만큼 감소합니다.

    배율 인수가 동일한 경우에만 배율 조정이 균일합니다(vx = vy = vz).

    축척 계수 중 하나를 제외한 모든 축척 계수가 1인 경우 상황은 다음과 같습니다. 축척은 방향성입니다.

    vx = vy = vz = k인 경우 계수 k에 의한 스케일링은 확대 또는 팽창이라고도 하며 면적은 k 2의 계수로 증가하고 부피는 k3의 계수로 증가합니다.

    가장 넓은 의미에서 스케일링은 행렬을 대각선화할 수 있는 모든 아핀 변환을 의미합니다. 크기 조정의 세 가지 차원이 서로 평행하지 않은 경우에도 사례로 간주됩니다. 또한 하나 이상의 축척 계수가 0(투영에서와 같이) 또는 음수인 시나리오도 포함됩니다. 후자는 평면에서 반사의 일반화와 동일하며, 두 선이 둘 중 하나에 수직일 필요가 없는 평면과 교차하는 지점에서 반사를 취함으로써 달성됩니다.

    컴퓨터 그래픽 영역의 전형적인 투영 기하학 영역 내에서 동종 좌표는 점을 나타내는 데 사용됩니다.

    벡터 v = (vx, vy, vz)로 객체의 크기를 조정하려면 각 동차 좌표 벡터 p = (px, py, pz, 이 투영 변환 행렬에 (1, 1)을 곱해야 합니다.

    S_{v}={\begin{bmatrix}v_{x}&0&0&0\\0&v_{y}&0&0\\0&0&v_{z}&0\\0&0&0&1\end{bmatrix}}.

    곱셈의 곱은 아래 표와 같습니다.

    S_{v}p={\begin{bmatrix}v_{x}&0&0&0\\0&v_{y}&0&0\\0&0&v_{z}&0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\\1\end{bmatrix}}={\begin{bmatrix}v_{x}p_{x}\\v_{y}p_{y}\\v_{z}p_{z}\\1\end{bmatrix}}.

    이 스케일링 매트릭스를 사용하면 동종 좌표의 네 번째 구성 요소를 다른 세 구성 요소의 분모로 볼 수 있기 때문에 공통 계수 s(균일 스케일링)에 의해 균일한 스케일링을 달성할 수 있습니다.

    S_{v}={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&{\frac {1}{s}}\end{bmatrix}}.

    각 벡터에 대해 p = (px, py, p, z, 1이 있는 경우)

    S_{v}p={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&{\frac {1}{s}}\end{bmatrix}}{\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\\1\end{bmatrix}}={\begin{bmatrix}p_{x}\\p_{y}\\p_{z}\\{\frac {1}{s}}\end{bmatrix}}
    Enjoying the preview?
    Page 1 of 1