Los gráficos vectoriales son una forma de gráficos de computadora en la que las imágenes visuales se crean 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 archivo, 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]
Aunque el hardware vectorial ha desaparecido en gran medida en favor de los monitores e impresoras basados en trama, [2] los datos y el software vectoriales siguen siendo ampliamente utilizados, especialmente cuando se requiere un alto grado de precisión geométrica y cuando la información compleja se puede descomponer en primitivas geométricas simples. Por lo tanto, es el modelo preferido para dominios como la ingeniería , la arquitectura , la topografía , la representación 3D y la tipografía , pero es totalmente inadecuado [ cita requerida ] para aplicaciones como la fotografía y la teledetección , donde la trama es más efectiva y eficiente. Algunos dominios de aplicación, como los sistemas de información geográfica (SIG) y el diseño gráfico , utilizan gráficos vectoriales y rasterizados a veces, 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 la que las formas se definen como un conjunto de puntos en un sistema de coordenadas cartesianas 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 se puede definir de forma inequívoca por las ubicaciones de tres de sus cuatro esquinas, a partir de las cuales el software puede interpolar las líneas de límite de conexión y el espacio interior. Debido a que es una forma regular, un cuadrado también se podría definir por la ubicación de una esquina, un tamaño (ancho = alto) y un ángulo de rotación.
Los primitivos geométricos 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 trazos. En los sistemas en los que las formas representan características del mundo real, como GIS y BIM, se pueden almacenar diversos atributos de cada característica representada, como el nombre, la edad, el 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, la conversión puede realizarse sin pérdidas.
Los dispositivos basados en vectores, como el CRT vectorial y el trazador de líneas , 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 con solo dos puntos (es decir, las coordenadas de cada extremo de la línea), el dispositivo puede reducir la cantidad total de datos con los que debe tratar organizando la imagen en términos de pares de puntos. [5]
Las pantallas gráficas 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 fueron retirados del control de tráfico aéreo en ruta de EE. UU. en 1999. [ cita requerida ] Los gráficos vectoriales también fueron utilizados en el TX-2 en el Laboratorio Lincoln del Instituto Tecnológico de Massachusetts por el pionero de los gráficos por computadora Ivan Sutherland para ejecutar su programa Sketchpad en 1963. [7]
Los sistemas de gráficos vectoriales posteriores, la mayoría de los cuales iteraban a través de listas almacenadas modificables dinámicamente de instrucciones de dibujo, incluyen el IBM 2250 , Imlac PDS-1 y DEC GT40 . Hubo una consola de videojuegos que usaba gráficos vectoriales llamada Vectrex , así como varios juegos de arcade como Asteroids , Space Wars , Tempest y muchos títulos cinematrónicos como Rip Off y Tail Gunner que usaban monitores vectoriales . [8] Las pantallas de osciloscopio de almacenamiento, como el Tektronix 4014 , podían mostrar imágenes vectoriales pero no modificarlas sin borrar primero la pantalla. Sin embargo, estos nunca fueron tan ampliamente utilizados como las pantallas de escaneo basadas en raster que se usaban 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 gráficos que se utilizan en el dibujo técnico todavía dibujan vectores directamente en el papel moviendo un lápiz siguiendo las instrucciones 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 formato ancho que imprime una imagen rasterizada (que puede generarse 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 ellos se basan en el mismo modelo básico de datos vectoriales, pueden interpretar y estructurar formas de manera muy diferente y utilizar formatos de archivo muy diferentes.
Hoy en día, los gráficos vectoriales se encuentran comúnmente en los 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 Consorcio World Wide Web (W3C) para gráficos vectoriales es Scalable Vector Graphics (SVG). El estándar es complejo y su establecimiento ha sido relativamente lento, al menos en parte debido a intereses comerciales. Muchos navegadores web ahora tienen algún soporte para la representación de datos SVG, pero las implementaciones completas del estándar aún son comparativamente escasas.
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 de pantalla. Los archivos SVG son esencialmente texto imprimible que describe tanto rutas rectas como curvas, así como otros atributos. Wikipedia prefiere SVG para imágenes como mapas simples, ilustraciones de líneas, escudos de armas y banderas, que generalmente no son como fotografías u otras imágenes de tono continuo. [ cita requerida ] La representación de SVG requiere la conversión a un formato rasterizado con una resolución apropiada para la tarea actual. SVG también es un formato para gráficos animados.
También existe una versión de SVG para móviles. En concreto, el formato específico para móviles se llama SVGT (SVG Tiny version). Estas imágenes pueden contar enlaces y también aprovechar el anti-aliasing. También se pueden mostrar como fondo de pantalla.
El software CAD utiliza sus propios formatos de datos vectoriales, normalmente formatos propietarios creados por proveedores de software, como DWG de Autodesk y formatos de intercambio públicos como DXF . A lo largo de su historia se han creado cientos de formatos de archivos vectoriales distintos para datos SIG, 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 Simple Features 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 renderizarlos (mostrar o imprimir). [10] El tamaño del archivo de mapa de bits o formato rasterizado 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 o formato rasterizado siempre será el mismo. Por lo tanto, es fácil convertir de un archivo vectorial a una variedad de formatos de archivo de mapa de bits o formato rasterizado , 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. Puede ser una ventaja guardar una imagen creada a partir de un archivo fuente vectorial como un formato de mapa de bits o formato rasterizado, porque los diferentes sistemas tienen formatos vectoriales diferentes (e incompatibles) y algunos pueden no admitir gráficos vectoriales en absoluto. Sin embargo, una vez que se convierte un archivo del formato vectorial, es probable que sea más grande y pierde 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 del 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 está hecho de una serie de curvas matemáticas; se imprimirá con gran nitidez incluso cuando se cambie el tamaño. [11] Por ejemplo, se puede imprimir un logotipo vectorial en una hoja pequeña de papel para fotocopias 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 vería borroso o pixelado 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, una valla publicitaria 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 de texto escrito para impresión ( composición tipográfica ). Los conjuntos 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 usarse solo con una resolución determinada; se dice que estos formatos de fuente no son escalables. La tipografía de alta calidad se basa actualmente en dibujos de caracteres ( fuentes ) que generalmente 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 los gráficos rasterizados :
Por ejemplo, considere un círculo de radio r . [14] Los principales datos que necesita un programa para dibujar este círculo son
Los formatos vectoriales no siempre son apropiados para el trabajo gráfico y también presentan numerosas desventajas. [15] Por ejemplo, dispositivos como cámaras y escáneres producen gráficos rasterizados de tonos esencialmente continuos que no son prácticos para convertir en vectores, por lo que para este tipo de trabajo, un editor de imágenes operará sobre los píxeles en lugar de sobre objetos de dibujo 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 utilizando herramientas vectoriales.
Algunos autores han criticado el término gráficos vectoriales por ser 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 ser 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 suelen permitir la traducción, rotación, duplicación, estiramiento, sesgo, transformaciones afines , cambio de orden z (en términos generales, qué está delante de qué) y combinación de primitivos 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 necesitan 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.
Muchos sitios web de fotografías de archivo ofrecen versiones vectorizadas de imágenes alojadas, mientras que repositorios específicos se especializan en imágenes vectoriales dada su creciente popularidad entre los diseñadores gráficos. [24]