Los gráficos vectoriales son una forma de gráficos por computadora en los que se crean imágenes visuales directamente a partir de formas geométricas definidas en un plano cartesiano , como puntos , líneas , curvas y polígonos . Los mecanismos asociados pueden incluir hardware de visualización e impresión de vectores , modelos de datos vectoriales y formatos de archivos, así como el software basado en estos modelos de datos (especialmente software de diseño gráfico , diseño asistido por computadora y sistemas de información geográfica ). Los gráficos vectoriales son una alternativa a los gráficos rasterizados o de mapa de bits, y cada uno tiene ventajas y desventajas en situaciones específicas. [1]
Si bien el hardware vectorial ha desaparecido en gran medida en favor de monitores e impresoras basados en tramas, [2] los datos y el software vectoriales siguen utilizándose ampliamente, especialmente cuando se requiere un alto grado de precisión geométrica y cuando la información compleja se puede descomponer en formas geométricas simples. primitivos. Por lo tanto, es el modelo preferido para dominios como ingeniería , arquitectura , topografía , renderizado 3D y tipografía , pero es completamente inapropiado para aplicaciones como fotografía y teledetección , donde la trama es más efectiva y eficiente. Algunos dominios de aplicaciones, como los sistemas de información geográfica (SIG) y el diseño gráfico , utilizan en ocasiones gráficos vectoriales y rasterizados, según el propósito.
Los gráficos vectoriales se basan en las matemáticas de la geometría analítica o de coordenadas y no están relacionados con otros usos matemáticos del término vector . Esto puede generar cierta confusión en disciplinas en las que se utilizan ambos significados.
El modelo de datos lógicos de los gráficos vectoriales se basa en las matemáticas de la geometría de coordenadas , en las que las formas se definen como un conjunto de puntos en un sistema de coordenadas cartesiano bidimensional o tridimensional , como p = ( x, y ) o p = ( x, y, z ). Debido a que casi todas las formas constan de un número infinito de puntos, el modelo vectorial define un conjunto limitado de primitivas geométricas que se pueden especificar utilizando una muestra finita de puntos salientes llamados vértices . Por ejemplo, un cuadrado puede definirse claramente mediante la ubicación de tres de sus cuatro esquinas, a partir de las cuales el software puede interpolar las líneas divisorias que las conectan y el espacio interior. Debido a que es una forma regular, un cuadrado también podría definirse por la ubicación de una esquina, un tamaño (ancho = alto) y un ángulo de rotación.
Las primitivas geométricas fundamentales son:
Se puede admitir una variedad de formas más complejas:
En muchos conjuntos de datos vectoriales, cada forma se puede combinar con un conjunto de propiedades. Las más comunes son las características visuales, como el color, el grosor de la línea o el patrón de guiones. En sistemas en los que las formas representan características del mundo real, como GIS y BIM, se puede almacenar una variedad de atributos de cada característica representada, como nombre, edad, tamaño, etc. [3]
En algunos datos vectoriales, especialmente en SIG, la información sobre las relaciones topológicas entre objetos se puede representar en el modelo de datos, como el seguimiento de las conexiones entre segmentos de carreteras en una red de transporte . [4]
Si un conjunto de datos almacenado en un formato de archivo vectorial se convierte a otro formato de archivo que admita todos los objetos primitivos utilizados en esa imagen en particular, entonces la conversión puede realizarse sin pérdidas.
Los dispositivos basados en vectores, como el CRT vectorial y el trazador de lápiz , controlan directamente un mecanismo de dibujo para producir formas geométricas. Dado que los dispositivos de visualización vectorial pueden definir una línea tratando solo con dos puntos (es decir, las coordenadas de cada extremo de la línea), el dispositivo puede reducir la cantidad total de datos que debe manejar organizando la imagen en términos de pares de agujas. [5]
Las pantallas de gráficos vectoriales fueron utilizadas por primera vez en 1958 por el sistema de defensa aérea SAGE de EE. UU . [6] Los sistemas de gráficos vectoriales se retiraron de los EE. UU. en el control del tráfico aéreo en ruta en 1999. [ cita necesaria ] El pionero de los gráficos por computadora Ivan Sutherland también utilizó gráficos vectoriales en el TX-2 en el Laboratorio Lincoln del Instituto de Tecnología de Massachusetts para ejecutar su programa Sketchpad en 1963. [7]
Los sistemas de gráficos vectoriales posteriores, la mayoría de los cuales iteraron a través de listas almacenadas dinámicamente modificables de instrucciones de dibujo, incluyen IBM 2250 , Imlac PDS-1 y DEC GT40 . Había una consola de videojuegos que usaba gráficos vectoriales llamada Vectrex , así como varios juegos arcade como Asteroids , Space Wars , Tempest y muchos títulos cinematográficos como Rip Off y Tail Gunner que usaban monitores vectoriales . [8] Las pantallas de alcance de almacenamiento, como la Tektronix 4014 , podrían mostrar imágenes vectoriales pero no modificarlas sin borrar primero la pantalla. Sin embargo, nunca se utilizaron tan ampliamente como las pantallas de escaneo basadas en tramas utilizadas para la televisión, y habían desaparecido en gran medida a mediados de la década de 1980, excepto para aplicaciones especializadas.
Los trazadores utilizados en el dibujo técnico todavía dibujan vectores directamente en el papel moviendo un bolígrafo dirigido a través del espacio bidimensional del papel. Sin embargo, al igual que con los monitores, estos han sido reemplazados en gran medida por la impresora de gran formato que imprime una imagen rasterizada (que puede representarse a partir de datos vectoriales).
Debido a que este modelo es útil en una variedad de dominios de aplicación, se han creado muchos programas de software diferentes para dibujar, manipular y visualizar gráficos vectoriales. Si bien todos estos se basan en el mismo modelo básico de datos vectoriales, pueden interpretar y estructurar formas de manera muy diferente, utilizando formatos de archivo muy diferentes.
Los gráficos vectoriales se encuentran comúnmente hoy en día en los tipos de formatos de archivos gráficos SVG , WMF , EPS , PDF , CDR o AI , y son intrínsecamente diferentes de los formatos de archivos de gráficos rasterizados más comunes, como JPEG , PNG , APNG , GIF , WebP , BMP. y MPEG4 .
El estándar del World Wide Web Consortium (W3C) para gráficos vectoriales es Scalable Vector Graphics (SVG). La norma es compleja y ha tardado relativamente en establecerse, al menos en parte debido a intereses comerciales. Muchos navegadores web ahora tienen cierto soporte para renderizar datos SVG, pero las implementaciones completas del estándar aún son comparativamente raras.
En los últimos años, SVG se ha convertido en un formato importante que es completamente independiente de la resolución del dispositivo de renderizado, normalmente una impresora o un monitor. Los archivos SVG son esencialmente texto imprimible que describe rutas rectas y curvas, así como otros atributos. Wikipedia prefiere SVG para imágenes como mapas simples, ilustraciones lineales, escudos de armas y banderas, que generalmente no son como fotografías u otras imágenes de tonos continuos. [ cita necesaria ] La renderización de SVG requiere la conversión a un formato ráster con una resolución adecuada para la tarea actual. SVG también es un formato para gráficos animados.
También existe una versión de SVG para teléfonos móviles. En concreto, el formato específico para teléfonos móviles se llama SVGT (versión SVG Tiny). Estas imágenes pueden contar enlaces y también explotar el suavizado. También se pueden mostrar como fondo de pantalla.
El software CAD utiliza sus propios formatos de datos vectoriales, generalmente formatos propietarios creados por proveedores de software, como DWG de Autodesk y formatos de intercambio público como DXF . Se han creado cientos de formatos de archivos vectoriales distintos para datos SIG a lo largo de su historia, incluidos formatos propietarios como la geodatabase de archivos de Esri, formatos propietarios pero públicos como Shapefile y el KML original , formatos de código abierto como GeoJSON y formatos creados por organismos de normalización como Funciones simples y GML del Open Geospatial Consortium .
Las pantallas e impresoras modernas son dispositivos rasterizados ; Los formatos vectoriales deben convertirse a un formato rasterizado (mapas de bits, matrices de píxeles) antes de poder renderizarse (mostrar o imprimir). [10] El tamaño del archivo de mapa de bits/ráster generado por la conversión dependerá de la resolución requerida, pero el tamaño del archivo vectorial que genera el archivo de mapa de bits/ráster siempre será el mismo. Por lo tanto, es fácil convertir un archivo vectorial a una variedad de formatos de archivos de mapa de bits/ráster , pero es mucho más difícil ir en la dirección opuesta, especialmente si se requiere una edición posterior de la imagen vectorial. Podría ser una ventaja guardar una imagen creada a partir de un archivo fuente vectorial como formato de mapa de bits/ráster, porque diferentes sistemas tienen formatos vectoriales diferentes (e incompatibles), y es posible que algunos no admitan gráficos vectoriales en absoluto. Sin embargo, una vez que un archivo se convierte desde el formato vectorial, es probable que sea más grande y pierda la ventaja de la escalabilidad sin pérdida de resolución. Tampoco será posible editar partes individuales de la imagen como objetos discretos. El tamaño de archivo de una imagen gráfica vectorial depende de la cantidad de elementos gráficos que contiene; es una lista de descripciones.
El arte vectorial es ideal para imprimir ya que el arte está hecho de una serie de curvas matemáticas; se imprimirá de forma muy nítida incluso cuando se cambie el tamaño. [11] Por ejemplo, se puede imprimir un logotipo vectorial en una pequeña hoja de papel de copia y luego ampliar el mismo logotipo vectorial al tamaño de una valla publicitaria y mantener la misma calidad nítida. Un gráfico rasterizado de baja resolución se difuminaría o pixelaría excesivamente si se ampliara del tamaño de una tarjeta de presentación al tamaño de una valla publicitaria. (La resolución precisa de un gráfico rasterizado necesaria para obtener resultados de alta calidad depende de la distancia de visualización; por ejemplo, un cartel publicitario puede parecer de alta calidad incluso a baja resolución si la distancia de visualización es lo suficientemente grande.) [12]
Si consideramos los caracteres tipográficos como imágenes, entonces las mismas consideraciones que hemos hecho para los gráficos se aplican incluso a la composición del texto escrito para imprimir ( composición tipográfica ). Los juegos de caracteres más antiguos se almacenaban como mapas de bits. Por lo tanto, para lograr la máxima calidad de impresión, debían utilizarse únicamente con una resolución determinada; Se dice que estos formatos de fuente no son escalables. Hoy en día, la tipografía de alta calidad se basa en dibujos de caracteres ( fuentes ) que normalmente se almacenan como gráficos vectoriales y, como tales, son escalables a cualquier tamaño. Ejemplos de estos formatos vectoriales para caracteres son las fuentes Postscript y las fuentes TrueType .
Ventajas de este estilo de dibujo sobre gráficos rasterizados :
Por ejemplo, considere un círculo de radio r . [14] Las principales piezas de información que un programa necesita para dibujar este círculo son
Los formatos vectoriales no siempre son apropiados en el trabajo gráfico y también tienen numerosas desventajas. [15] Por ejemplo, dispositivos como cámaras y escáneres producen esencialmente gráficos rasterizados de tonos continuos que no son prácticos para convertir en vectores, por lo que para este tipo de trabajo, un editor de imágenes operará con los píxeles en lugar de dibujar objetos definidos por expresiones matemáticas. Las herramientas gráficas integrales combinarán imágenes de fuentes vectoriales y rasterizadas, y pueden proporcionar herramientas de edición para ambas, ya que algunas partes de una imagen podrían provenir de una fuente de cámara y otras podrían haberse dibujado usando herramientas vectoriales.
Algunos autores han criticado el término gráficos vectoriales por considerarlo confuso. [16] [17] En particular, los gráficos vectoriales no se refieren simplemente a los gráficos descritos por vectores euclidianos . [18] Algunos autores han propuesto utilizar gráficos orientados a objetos en su lugar. [16] [19] [20] Sin embargo, este término también puede resultar confuso, ya que puede leerse como cualquier tipo de gráfico implementado mediante programación orientada a objetos . [16]
Los editores de gráficos vectoriales generalmente permiten traslación, rotación, duplicación, estiramiento, sesgo, transformaciones afines , cambio de orden z (en términos generales, qué hay delante de qué) y combinación de primitivas en objetos más complejos. [16] Las transformaciones más sofisticadas incluyen operaciones de conjuntos en formas cerradas ( unión , diferencia , intersección , etc.). [21] En SVG, las operaciones de composición se basan en la composición alfa . [22]
Los gráficos vectoriales son ideales para dibujos simples o compuestos que deben ser independientes del dispositivo [23] o que no necesitan lograr fotorrealismo . Por ejemplo, los lenguajes de descripción de páginas PostScript y PDF utilizan un modelo de gráficos vectoriales.