벡터 그래픽스

섬네일|upright=1.3|벡터 그래픽스와 래스터 그래픽스의 배율에 따른 비교를 보여주는 예시

벡터 그래픽스(vector graphics)는 컴퓨터 그래픽스의 한 형태로, 데카르트 좌표계에 정의된 점, 선분, 곡선, 다각형과 같은 기하학적 기본 요소로부터 시각적 이미지가 직접 생성된다. 관련 메커니즘으로는 벡터 디스플레이 및 프린팅 하드웨어, 벡터 데이터 모델 및 파일 형식, 그리고 이러한 데이터 모델을 기반으로 하는 소프트웨어(특히 그래픽 아트 소프트웨어, 컴퓨터 지원 설계 및 지리 정보 시스템)가 포함될 수 있다. 벡터 그래픽스는 래스터 또는 비트맵 그래픽스의 대안이며, 각각 특정 상황에서 장단점을 가진다.

벡터 하드웨어는 래스터 기반 모니터 및 프린터에 밀려 대부분 사라졌지만, 벡터 데이터와 소프트웨어는 특히 높은 기하학적 정밀도가 요구될 때와 복잡한 정보를 단순한 기하학적 기본 요소로 분해할 수 있을 때 여전히 널리 사용된다. 따라서 공학, 건축, 측량, 3차원 렌더링, 타이포그래피와 같은 분야에서 선호되는 모델이지만, 사진술 및 원격탐사와 같이 래스터가 더 효과적이고 효율적인 응용 분야에서는 전혀 적합하지 않다. 지리 정보 시스템(GIS) 및 그래픽 디자인과 같은 일부 응용 분야에서는 목적에 따라 벡터와 래스터 그래픽스를 모두 사용하기도 한다.

벡터 그래픽스는 해석기하학의 수학적 원리를 기반으로 하며, 유클리드 벡터 용어의 다른 수학적 용법과는 관련이 없다. 이로 인해 두 가지 의미가 모두 사용되는 분야에서는 혼란이 발생할 수 있다.

데이터 모델

벡터 그래픽스의 논리적 데이터 모델은 해석기하학의 수학적 원리를 기반으로 하며, 여기서 모양은 2차원 또는 3차원 데카르트 좌표계에서 점의 집합으로 정의된다(p = (x, y) 또는 p = (x, y, z)). 거의 모든 모양이 무한한 수의 점으로 구성되기 때문에, 벡터 모델은 정점이라고 불리는 유한한 수의 특징적인 점 샘플을 사용하여 지정할 수 있는 제한된 기하학적 기본 요소 집합을 정의한다. 예를 들어, 정사각형은 네 모서리 중 세 곳의 위치로 명확하게 정의될 수 있으며, 소프트웨어는 이를 통해 연결되는 경계선과 내부 공간을 보간할 수 있다. 규칙적인 모양이므로, 정사각형은 한 모서리의 위치, 크기(너비=높이), 그리고 회전 각도로도 정의될 수 있다.

기본적인 기하학적 기본 요소는 다음과 같다:
 하나의 점.
 두 종점으로 정의되는 선분, 중간 선의 간단한 선형 보간을 허용한다.
 폴리라인 또는 폴리라인은 순서가 지정된 점 목록으로 정의되는 연결된 선분 집합이다.
 다각형은 공간의 영역을 나타내며, 시작 및 끝 정점이 일치하는 폴리라인인 경계로 정의된다.

다양한 더 복잡한 모양이 지원될 수 있다:
 매개변수 곡선은 폴리라인 또는 다각형에 매개변수를 추가하여 정점 사이의 비선형 보간을 정의하는 것으로, 원호, 3차 에르미트 스플라인, 캣멀롬 스플라인, 베지에 곡선 및 베지곤을 포함한다.
 2차원 또는 3차원의 표준 매개변수 모양으로, 원, 타원, 정사각형, 초타원, 구, 사면체, 초타원체 등.
 불규칙한 3차원 표면 및 솔리드는 일반적으로 연결된 다각형 집합(폴리곤 메시 등) 또는 매개변수 표면(NURBS 등)으로 정의된다.
 프랙탈은 종종 반복 함수 시스템으로 정의된다.

많은 벡터 데이터셋에서 각 모양은 속성 집합과 결합될 수 있다. 가장 일반적인 것은 색상, 선 굵기 또는 대시 패턴과 같은 시각적 특성이다. GIS 및 BIM과 같이 모양이 실제 세계의 특징을 나타내는 시스템에서는 이름, 나이, 크기 등과 같이 표현된 각 특징의 다양한 속성을 저장할 수 있다.

일부 벡터 데이터, 특히 GIS에서는 객체 간의 위상 관계에 대한 정보가 데이터 모델에 표현될 수 있으며, 예를 들어 교통망의 도로 구간 간의 연결을 추적하는 것과 같다.

하나의 벡터 파일 형식으로 저장된 데이터셋이 해당 특정 이미지에 사용된 모든 기본 객체를 지원하는 다른 파일 형식으로 변환되면, 그 변환은 무손실일 수 있다.

벡터 디스플레이 하드웨어

섬네일|벡터 모니터에서 플레이되는 아스테로이즈와 유사한 무료 소프트웨어 비디오 게임
벡터 CRT 및 펜 플로터와 같은 벡터 기반 장치는 드로잉 메커니즘을 직접 제어하여 기하학적 모양을 생성한다. 벡터 디스플레이 장치는 단 두 점(즉, 선의 각 끝점의 좌표)만으로 선을 정의할 수 있으므로, 이미지를 점 쌍으로 구성하여 처리해야 하는 전체 데이터 양을 줄일 수 있다.

벡터 그래픽스 디스플레이는 1958년 미국 SAGE 방공 시스템에서 처음 사용되었다. 벡터 그래픽스 시스템은 1999년에 미국 항공 교통 관제에서 퇴역했다. 벡터 그래픽스는 1963년 컴퓨터 그래픽스 개척자 아이번 서덜랜드가 스케치패드 프로그램을 실행하기 위해 매사추세츠 공과대학교 링컨 연구소의 TX-2에서도 사용되었다.

이후 동적으로 수정 가능한 저장된 드로잉 명령어 목록을 반복하는 벡터 그래픽스 시스템에는 IBM 2250, Imlac PDS-1, DEC GT40이 있다. 벡트렉스라는 벡터 그래픽스를 사용한 비디오 게임 콘솔과 아스테로이즈, 스페이스 워즈, 템페스트와 같은 다양한 아케이드 게임 및 벡터 모니터를 사용하는 Rip Off, Tail Gunner와 같은 많은 시네마트로닉스 타이틀이 있었다. 텍트로닉스 4014와 같은 스토리지 스코프 디스플레이는 벡터 이미지를 표시할 수 있었지만, 디스플레이를 먼저 지우지 않고는 수정할 수 없었다. 그러나 이러한 장치들은 텔레비전에 사용되는 래스터 기반 스캐닝 디스플레이만큼 널리 사용되지 않았으며, 전문적인 응용 분야를 제외하고는 1980년대 중반까지 대부분 사라졌다.

기술 도면에 사용되는 플로터는 여전히 펜을 종이의 2차원 공간을 통해 지시대로 움직여 종이에 직접 벡터를 그린다. 그러나 모니터와 마찬가지로 이러한 장치들도 벡터 데이터에서 렌더링될 수 있는 래스터 이미지를 인쇄하는 와이드 포맷 프린터로 대부분 대체되었다.

소프트웨어
이 모델은 다양한 응용 분야에서 유용하므로, 벡터 그래픽스를 그리고, 조작하고, 시각화하기 위해 많은 소프트웨어 프로그램이 만들어졌다. 이들 모두 동일한 기본 벡터 데이터 모델을 기반으로 하지만, 매우 다른 파일 형식을 사용하여 모양을 매우 다르게 해석하고 구성할 수 있다.
 어도비 일러스트레이터와 같은 벡터 드로잉 프로그램 또는 그래픽 아트 소프트웨어를 사용하는 그래픽 디자인 및 삽화. 기능은 벡터 드로잉 프로그램 비교를 참조.
 지리 정보 시스템(GIS)은 벡터 모양과 속성 집합의 조합으로 지리적 특징을 나타낼 수 있다. GIS는 벡터 편집, 매핑, 벡터 공간 분석 기능을 포함한다.
 공학, 건축, 측량에 사용되는 컴퓨터 지원 설계(CAD). 빌딩 정보 모델링(BIM) 모델은 GIS와 유사하게 각 모양에 속성을 추가한다.
 컴퓨터 애니메이션을 포함한 3차원 컴퓨터 그래픽스 소프트웨어.

 파일 형식 
섬네일|이 원형 4색 소용돌이의 벡터 기반(SVG 형식) 이미지는 래스터 그래픽스와 비교하여 벡터 그래픽스의 몇 가지 독특한 특징을 보여준다. 즉, 둥근 가장자리를 따라 에일리어싱이 없으며(이는 래스터 그래픽에서 디지털 아티팩트를 초래할 수 있음), 색상 그라디언트가 모두 부드럽고, 사용자는 품질 저하 없이 이미지를 무한히 확대/축소할 수 있다.
벡터 그래픽스는 오늘날 일반적으로 SVG, WMF, EPS, PDF, CDR 또는 AI 형식의 그래픽 파일 형식으로 발견되며, JPEG, PNG, APNG, GIF, WebP, BMP 및 MPEG-4와 같은 일반적인 래스터 그래픽스 파일 형식과는 본질적으로 다르다.

월드 와이드 웹 컨소시엄(W3C)의 벡터 그래픽스 표준은 확장 가능 벡터 그래픽스(SVG)이다. 이 표준은 복잡하며 상업적 이해관계로 인해 정착이 상대적으로 느렸다. 많은 웹 브라우저가 SVG 데이터 렌더링을 일부 지원하지만, 표준의 완전한 구현은 여전히 비교적 드물다.

최근 몇 년 동안 SVG는 렌더링 장치(일반적으로 프린터 또는 디스플레이 모니터)의 해상도와 완전히 독립적인 중요한 형식이 되었다. SVG 파일은 본질적으로 직선 및 곡선 경로, 그리고 다른 속성을 기술하는 인쇄 가능한 텍스트이다. 위키백과는 간단한 지도, 선 일러스트레이션, 문장, 깃발 등 사진이나 다른 연속 톤 이미지와 같지 않은 이미지에 SVG를 선호한다. SVG 렌더링은 현재 작업에 적합한 해상도로 래스터 형식으로 변환해야 한다. SVG는 애니메이션 그래픽을 위한 형식으로도 사용된다.

휴대폰용 SVG 버전인 SVGT(SVG Tiny 버전)도 있다. 이 이미지들은 링크를 계산할 수 있고 안티에일리어싱을 활용할 수도 있다. 배경화면으로도 표시될 수 있다.

CAD 소프트웨어는 자체 벡터 데이터 형식을 사용하며, 일반적으로 오토데스크의 DWG와 같은 소프트웨어 공급업체가 만든 독점 형식과 DXF와 같은 공개 교환 형식을 사용한다. GIS 데이터의 역사상 수백 가지의 다양한 벡터 파일 형식이 생성되었는데, 여기에는 Esri 파일 지오데이터베이스와 같은 독점 형식, 셰이프파일 및 원본 KML과 같은 독점적이지만 공개적인 형식, GeoJSON과 같은 오픈 소스 형식, 그리고 개방형 공간 정보 컨소시엄의 Simple Features 및 GML과 같은 표준 기구가 만든 형식이 포함된다.

 변환 

섬네일|벡터화 전 원본 참조 사진
섬네일|벡터 아트에 세부 사항을 추가하거나 제거할 수 있다.

래스터로

최신 디스플레이 및 프린터는 래스터 장치이다. 벡터 형식은 렌더링(표시 또는 인쇄)되기 전에 래스터 형식(비트맵 - 픽셀 배열)으로 변환되어야 한다. 변환으로 생성되는 비트맵/래스터 형식 파일의 크기는 필요한 해상도에 따라 달라지지만, 비트맵/래스터 파일을 생성하는 벡터 파일의 크기는 항상 동일하게 유지된다. 따라서 벡터 파일에서 다양한 비트맵/래스터 파일 형식으로 변환하는 것은 쉽지만, 특히 벡터 그림의 후속 편집이 필요한 경우 반대 방향으로 가는 것은 훨씬 더 어렵다. 벡터 소스 파일로 생성된 이미지를 비트맵/래스터 형식으로 저장하는 것이 이점이 있을 수 있는데, 이는 다른 시스템이 서로 다른(호환되지 않는) 벡터 형식을 가지고 있고, 일부는 벡터 그래픽스를 전혀 지원하지 않을 수도 있기 때문이다. 그러나 파일이 벡터 형식에서 변환되면 크기가 커질 가능성이 높고, 해상도 손실 없이 확장할 수 있다는 장점을 잃게 된다. 또한 이미지의 개별 부분을 별개의 객체로 편집하는 것도 더 이상 불가능해진다. 벡터 그래픽 이미지의 파일 크기는 포함된 그래픽 요소의 수에 따라 달라진다. 이는 설명의 목록이다.

래스터에서

 인쇄 
벡터 아트는 일련의 수학적 곡선으로 이루어져 있기 때문에 인쇄에 이상적이며, 크기를 조정해도 매우 선명하게 인쇄된다. 예를 들어, 작은 복사 용지에 벡터 로고를 인쇄한 다음, 동일한 벡터 로고를 빌보드 크기로 확대해도 동일한 선명한 품질을 유지할 수 있다. 저해상도 래스터 그래픽스는 명함 크기에서 빌보드 크기로 확대되면 너무 흐려지거나 픽셀화된다. (고품질 결과를 위한 래스터 그래픽스의 정확한 해상도는 시청 거리에 따라 달라진다. 예를 들어, 시청 거리가 충분히 멀다면 빌보드는 낮은 해상도에서도 고품질로 보일 수 있다.)

타이포그래피 문자를 이미지로 간주한다면, 우리가 그래픽스에 대해 내린 동일한 고려 사항이 인쇄를 위한 서면 텍스트의 구성(조판)에도 적용된다. 이전 문자 세트는 비트맵으로 저장되었다. 따라서 최대 인쇄 품질을 달성하려면 주어진 해상도에서만 사용되어야 했으며, 이러한 글꼴 형식은 비확장성이라고 한다. 오늘날 고품질 타이포그래피는 일반적으로 벡터 그래픽스로 저장되는 문자 드로잉을 기반으로 하며, 따라서 어떤 크기로든 확장 가능하다. 이러한 문자 벡터 형식의 예로는 포스트스크립트 글꼴과 트루타입 글꼴이 있다.

 작동 
래스터 그래픽스에 대한 이 소묘 방식의 장점:
 벡터 그래픽스는 좌표와 그 사이의 선/곡선으로 구성되므로, 표현의 크기가 객체의 차원에 의존하지 않는다. 이 최소한의 정보량은 픽셀 단위로 정의되는 큰 래스터 이미지에 비해 훨씬 작은 파일 크기로 변환된다. 즉, 파일 크기가 작은 벡터 그래픽스는 실제 사진에 비해 디테일이 부족하다고 자주 말한다.
 따라서 예를 들어 원호를 무한히 확대해도 부드러움을 유지한다. 반면에 곡선을 나타내는 다각형은 실제 곡선이 아님을 드러낼 것이다.
 확대할 때 선과 곡선은 비례하여 넓어질 필요가 없다. 종종 너비는 증가하지 않거나 비례 이하로 증가한다. 반면에 단순한 기하학적 모양으로 표현되는 불규칙한 곡선은 확대할 때 비례적으로 넓어져 부드럽게 보이고 기하학적 모양처럼 보이지 않도록 할 수 있다.
 객체의 매개변수는 저장되며 나중에 수정할 수 있다. 이는 이동, 크기 조정, 회전, 채우기 등이 드로잉 품질을 저하시키지 않는다는 것을 의미한다. 또한, 장치 독립적인 단위로 크기를 지정하는 것이 일반적이며, 이는 래스터 장치에서 최상의 래스터화를 제공한다.
 3차원 관점에서 보면, 벡터 그래픽스는 그림자를 형성하는 광선으로 추상화될 수 있으므로 그림자 렌더링이 훨씬 더 현실적이다. 이는 사실적 이미지 및 렌더링을 가능하게 한다.

예를 들어, 반지름 r의 원을 고려해보자. 이 원을 프로그램이 그리기 위해 필요한 주요 정보는 다음과 같다:
 그려야 할 것이 원임을 나타내는 표시
 반지름 r
 원 중심점의 위치
 스트로크 선 스타일 및 색상 (투명 가능)
 채우기 스타일 및 색상 (투명 가능)

벡터 형식은 그래픽스 작업에 항상 적합한 것은 아니며, 여러 단점도 있다. 예를 들어, 카메라 및 스캐너와 같은 장치는 본질적으로 연속 톤 래스터 그래픽스를 생성하며, 이를 벡터로 변환하는 것은 비실용적이다. 따라서 이러한 유형의 작업에서는 이미지 편집기가 수학적 표현으로 정의된 드로잉 객체 대신 픽셀을 사용하여 작동한다. 포괄적인 그래픽스 도구는 벡터 및 래스터 소스에서 이미지를 결합하고, 일부 이미지 부분이 카메라 소스에서 오고 다른 부분은 벡터 도구를 사용하여 그려졌을 수 있으므로 둘 다에 대한 편집 도구를 제공할 수 있다.

일부 저자들은 벡터 그래픽스라는 용어가 혼란스럽다고 비판했다. 특히, 벡터 그래픽스는 단순히 유클리드 벡터로 설명되는 그래픽스를 의미하지 않는다. 일부 저자들은 대신 객체 지향 그래픽스()라는 용어를 사용할 것을 제안했다. 그러나 이 용어는 객체 지향 프로그래밍을 사용하여 구현된 모든 종류의 그래픽스로 읽힐 수 있기 때문에 혼란스러울 수도 있다.

 벡터 연산 
벡터 드로잉 프로그램은 일반적으로 변환, 회전, 미러링, 스트레칭, 기울이기, 아핀 변환, z-순서 변경 (대략적으로 무엇이 앞에 오고 무엇이 뒤에 오는지), 그리고 기본 요소를 더 복잡한 객체로 조합하는 것을 허용한다. 더 정교한 변환은 닫힌 도형에 대한 집합 연산 (합집합, 여집합, 교집합 등)을 포함한다. SVG에서 합성 연산은 알파 합성을 기반으로 한다.

벡터 그래픽스는 장치 독립적이어야 하거나 사진 현실주의를 달성할 필요가 없는 단순하거나 복합적인 드로잉에 이상적이다. 예를 들어, 포스트스크립트 및 PDF 페이지 기술 언어는 벡터 그래픽스 모델을 사용한다.

 벡터 이미지 저장소 
많은 스톡 사진 웹사이트는 호스팅된 이미지의 벡터화된 버전을 제공하며, 특정 저장소는 그래픽 디자이너들 사이에서 인기가 높아지는 벡터 이미지를 전문으로 한다.

 같이 보기 
 컴퓨터 보조 설계(CAD)
 그래픽 소프트웨어
 GXL
 벡터 게임
 VML
 벡터 모니터
 잉크스케이프

 각주 

 외부 링크 
 
 비트맵을 벡터로 변환하기 
 벡터매직 온라인

 
분류:그래픽 디자인