Vector General ( VG ) fue una serie de terminales gráficas y el nombre de la empresa californiana que las produjo. Se introdujeron por primera vez en 1969 y se utilizaron en laboratorios de computación hasta principios de los años 1980.
Los terminales se basaban en una plataforma común que leía vectores proporcionados por una minicomputadora anfitriona e incluía hardware que podía realizar transformaciones matemáticas básicas en el terminal. Esto mejoraba enormemente el rendimiento de operaciones como rotar un objeto o hacer zoom. Los vectores transformados se mostraban luego en el monitor vectorial integrado del terminal .
A diferencia de terminales similares de otros fabricantes, los sistemas Vector General incluían poca memoria interna . En su lugar, almacenaban vectores en la memoria del ordenador anfitrión y accedían a ellos mediante acceso directo a memoria (DMA). Los terminales VG3D totalmente equipados costaban unos 31.000 dólares, incluida una computadora PDP-11 de gama baja , [1] en comparación con máquinas como la IBM 2250 , que costaban 100.000 dólares solo por el terminal. [2] [a]
Entre una serie de usos famosos conocidos dentro del campo de los gráficos por computadora, fue un terminal VG3D conectado a un PDP-11/45 el que se utilizó para producir las animaciones de "atacar la Estrella de la Muerte no será fácil" en Star Wars . [4] [5]
Descripción
Hardware
Un intento común a finales de los años 1960 para mejorar el rendimiento de la visualización de gráficos, especialmente en 3D, fue utilizar terminales especiales que almacenaban una lista de vectores en la memoria interna y luego utilizaban hardware o software que se ejecutaba en el controlador de pantalla para proporcionar transformaciones básicas como rotación y escalado. Como estas transformaciones eran relativamente simples, se podían implementar en el terminal por un costo relativamente bajo y, por lo tanto, evitar gastar tiempo en la CPU host para realizar estas operaciones. Los sistemas que realizaban al menos algunas de estas operaciones incluían IDI, Adage e Imlac PDS-1 . [6]
Una innovación clave en los terminales de la serie VG fue el uso de acceso directo a memoria (DMA) para permitir el acceso a la memoria de un ordenador anfitrión. Esto significaba que los terminales no necesitaban mucho almacenamiento propio y les daba la capacidad de acceder rápidamente a los datos sin tener que copiarlos a través de un enlace más lento como el Tektronix 4010 basado en serie o sistemas similares. [7] La desventaja de este enfoque es que solo se podía utilizar en máquinas que ofrecían DMA, y solo a través de un adaptador relativamente caro. [b]
El concepto básico era que el ordenador central ejecutaría cálculos para producir una serie de puntos para el modelo 2D o 3D y los expresaría como valores de 12 bits, normalmente almacenados en palabras de 16 bits con bits de estado adicionales . Luego, el terminal interrumpiría periódicamente el ordenador, de 30 a 60 veces por segundo, [8] y leería y mostraría rápidamente los datos. [9] Cada punto se leía uno por uno en los registros de memoria local para su almacenamiento temporal mientras se les aplicaban funciones matemáticas para escalar, trasladar y (opcionalmente) rotar, y cuando se calculaban los valores finales, esos puntos se enviaban al tubo de rayos catódicos (TRC) para su visualización. [9]
Existían tres modelos diferentes de hardware de transformación de coordenadas. El sistema más básico incluía el hardware necesario para desplazar y hacer zoom sobre imágenes 2D, en cuyo caso el terminal que lo contenía se conocería como Vector General 2D. Otra versión añadía la capacidad de rotar la imagen 2D alrededor de un punto arbitrario, conocida como 2DR (por Rotate). La opción más cara era la 3D, que proporcionaba rotación, desplazamiento y zoom sobre vectores 3D. Otra opción que se podía añadir a cualquiera de estos modelos y que no se reflejaba en el nombre añadía un generador de caracteres . [10]
Los CRT cuadrados se activaban directamente desde la salida del hardware de transformación, en lugar de visualizarse mediante un método de escaneo rasterizado tradicional. [9] La empresa se refirió a este tipo de operación como "escaneo aleatorio", [8] aunque en las referencias modernas se lo conoce universalmente como monitor vectorial . Había dos modelos básicos de CRT disponibles, que medían 17 pulgadas (430 mm) y 21 pulgadas (530 mm) en diagonal. El modelo de 21 pulgadas también estaba disponible en una versión especial de "alta velocidad" que mejoraba las velocidades de dibujo. Los CRT usaban deflexión electromagnética, no magnética como en los televisores, para proporcionar un rendimiento de escaneo de alta velocidad. [11]
Se podían conectar varios dispositivos de entrada diferentes al sistema. El más común era un teclado de 70 teclas , mientras que otros incluían un banco de pulsadores momentáneos con luces internas controladas por registros, una tableta gráfica , un lápiz óptico , un dial y un joystick . [12] El sistema en su conjunto era bastante grande, aproximadamente del tamaño de un refrigerador pequeño . [13]
Conceptos de dibujo
Los vectores se representaban de forma lógica mediante dos puntos finales en el espacio. Cada punto se definía mediante dos o tres valores de 12 bits, lo que representaba un espacio de 0 a 4095 en X, Y y (opcionalmente) Z. [11] La terminal tenía tres registros de 12 bits para almacenar los valores mientras se manipulaban. [14]
El sistema permitía representar vectores de varias maneras en la memoria. El modo más básico, "absoluto", requería dos puntos, uno para cada extremo del vector. [15] Los vectores "relativos" se expresaban como desplazamientos del último conjunto de valores, por lo que solo se necesitaba un punto para definir un vector, siendo el primer punto el punto final del último. Esto podía reducir a la mitad el número de puntos necesarios para describir un dibujo completo, si los datos eran continuos como un gráfico de líneas . Los vectores "incrementales" reducían aún más la memoria al utilizar solo 6 bits para cada punto, lo que permitía que los datos se almacenaran en menos memoria en el host. El sistema podía configurarse para agregar los valores a los 6 bits de orden alto o bajo del último valor, lo que permitía un movimiento grueso o fino. Finalmente, los vectores "autoincrementales" reducían aún más los requisitos de memoria al requerir que solo se almacenara un valor, y los demás se incrementaban en una cantidad preestablecida a medida que se leía cada nuevo punto. Estos eran similares a los vectores relativos, con uno de los dos ejes siempre teniendo el mismo desplazamiento relativo. [16] El sistema también tenía un circuito separado para generar arcos circulares, en lugar de tener que enviar una serie de puntos. [17]
La pantalla era capaz de producir 32 niveles de intensidad diferentes. Esto se podía programar directamente configurando un registro en la terminal, pero se usaba más comúnmente en un modo programado en 3D. En este modo, la intensidad se cambiaba automáticamente a medida que se dibujaba el vector, y los elementos más profundos en las dimensiones Z se dibujaban con menos intensidad. Esto producía una señal de profundidad que hacía que el frente del objeto se viera más brillante en la pantalla. La rapidez de este cambio se configuraba a través del registro ISR. [18]
Un registro PS independiente de 12 bits contenía el multiplicador de escala. Cuando no se utilizaba este valor, el sistema de coordenadas representaba un área física aproximadamente dos veces más grande que la pantalla, lo que le permitía trasladar la imagen para proporcionar desplazamiento. Cuando se colocaba un valor en este registro, las coordenadas en los registros vectoriales y el sistema de dibujo de caracteres se multiplicaban por este valor, lo que producía un efecto de zoom. [19]
El generador de caracteres opcional dibujaba caracteres utilizando un conjunto de cinco formas definidas por hardware: un círculo, un cuadrado con una línea vertical en el medio, un cuadrado con una línea horizontal en el medio y formas de reloj de arena orientadas verticalmente y una similar orientada horizontalmente. Al encender y apagar el haz a medida que el hardware dibujaba cada una de estas formas, el sistema podía dibujar cualquier carácter requerido. Por ejemplo, la letra C se dibujaba utilizando la forma O y apagando el haz mientras estaba a la derecha. La letra D se dibujaba utilizando la forma O y apagándola mientras estaba a la izquierda, y luego dibujando el cuadro de línea vertical con el haz encendido solo cuando se dibujaba la barra vertical central. Se necesitan entre uno y tres "dibujos" de este tipo para producir un carácter completo. [20] El sistema incluía una serie de letras griegas y símbolos matemáticos además de los caracteres ASCII normales . [21]
Programación
El terminal leía periódicamente la memoria principal del ordenador anfitrión mediante DMA para actualizar la pantalla. Las comunicaciones posteriores se gestionaban a través de un único puerto de E/S bidireccional [9] después de crear una solicitud de interrupción con los detalles de la solicitud en el registro PIR. [22] Las configuraciones e instrucciones se gestionaban enviando datos hacia y desde el puerto de E/S a uno de los 85 registros del terminal. [14]
Por ejemplo, el host podría establecer el valor del registro PS, lo que provocaría que la imagen se ampliara. Para ello, llamaría a una interrupción cuyo mensaje de 16 bits contuviera el número del registro que se iba a establecer, 17 en este caso. El terminal respondería enviando un mensaje de 16 bits a través del canal de E/S. Las escrituras se gestionaban mediante un proceso similar, pero el terminal respondía a la interrupción leyendo un valor en su lugar. [23]
La dirección base para el inicio de la lista de vectores y el desplazamiento dentro de ella se encontraban en los registros 14 y 15. [14] Esto permitía que la pantalla realizara una especie de "cambio de página" al escribir conjuntos separados de puntos dentro de la memoria de la computadora y luego cambiar la pantalla de una sola vez modificando el valor del registro 14 para que apunte a una dirección base diferente. Esto estaba limitado por la cantidad de memoria disponible en la computadora anfitriona. [24]
Las instrucciones de visualización tenían una variedad de formatos que permitían la construcción no sólo de vectores, sino también de varios comandos. Por ejemplo, había instrucciones para cargar datos en un registro determinado, que consistían en dos palabras de 16 bits, la primera con los detalles del registro y la siguiente con el valor. Otras instrucciones realizaban operaciones lógicas OR o AND sobre valores de registros. Las propias instrucciones de visualización podían combinarse con estas operaciones, de modo que el sistema podía, por ejemplo, comenzar a mostrar una selección de elementos, hacer que se encendiera una lámpara, rotar la imagen y luego dibujar más vectores. [25]
Usos notables
La VG3D es históricamente notable por su uso en Star Wars , pero también es conocida por su papel temprano en el desarrollo del diseño asistido por computadora .
EnLa guerra de las galaxias

Larry Cuba produjo dos segmentos de animación por computadora para La guerra de las galaxias en una PDP-11/45 con una terminal VG3D. Para filmar las imágenes cuadro por cuadro, se conectó un cable entre una de las luces del panel de botones y el disparador del obturador de la cámara. Esto fue activado por la computadora central, lo que hizo que la cámara soltara el obturador una vez y avanzara la película un solo cuadro. [26] [27]
El primer segmento, que muestra el exterior de la Estrella de la Muerte , está basado completamente en las capacidades de visualización interna del VG3D. El modelo consistía en una serie simple de puntos 3D que representaban el contorno de la estación almacenada en la memoria del PDP-11, construidos algorítmicamente utilizando el código de generación de curvas del lenguaje de programación GRASS asociado . Para mover y rotar la imagen como se ve en la película, el programa GRASS asociado cargaría nuevas figuras de rotación y zoom en los registros del terminal y luego activaría la cámara. [26]
El segundo segmento muestra la vista del vuelo por la trinchera en el ataque final, primero desde arriba y luego desde la perspectiva del piloto. Esto fue mucho más difícil de crear porque la terminal no soportaba el cálculo de la perspectiva, que era necesario en esta secuencia. El modelo físico de la trinchera utilizado durante la filmación estaba compuesto por una serie de seis características que se duplicaron muchas veces y luego se ensamblaron de diferentes maneras para producir un solo modelo de 40 pies (12 m) de largo. Cuba digitalizó cada una de estas seis características a partir de fotografías y luego las combinó en diferentes configuraciones en más de 50 secciones en forma de U. Para cada cuadro, cinco de estas secciones se apilaron en profundidad y luego se aplicaron los cálculos de perspectiva. La adición de nuevas secciones a medida que avanza la animación se puede ver en la película. Luego, esto se envió a la terminal como una imagen estática y se activó la cámara. Cada cuadro tardó aproximadamente dos minutos en renderizarse. [28]
En el ejército de los Estados Unidos

Mike Muuss cuenta que el Laboratorio de Investigación Balística del Ejército de los Estados Unidos había comprado un Cyber 173 y tres estaciones de trabajo que consistían en un terminal VG3D y un PDP-11/34 para manejarlo. Estaba previsto que se conectaran entre sí, pero nadie fue capaz de hacer que esto funcionara y, al final, las estaciones de trabajo VG quedaron sin uso. Le molestaba ver que se desperdiciaba todo este hardware, por lo que en 1979 conectó una de las estaciones de trabajo y creó un programa que producía un cubo tridimensional giratorio. [29]
A otro programador se le había dado un conjunto de puntos 3D del diseño del tanque XM1 y estaba escribiendo código para mostrarlo en un trazador Calcomp . Le preguntó a Muuss si podían mostrarlo en las terminales VG, para poder rotarlo. Primero lo mostró como una imagen estática en un Tektronix 4014 , pero la noche siguiente logró mostrarlo en el VG3D donde se podía girar fácilmente usando el hardware vectorial interno. [30]
Nadie en el ejército había visto algo así antes. Al día siguiente, el comandante general de ARRADCOM voló para verlo en vivo. Durante las dos semanas siguientes, Muuss estuvo constantemente dando demostraciones del sistema a un desfile de oficiales. [30] La demostración se hizo tan conocida que Muuss pudo comenzar el desarrollo de BRL-CAD . [31]
Notas
- ^ Modelos posteriores, como el IBM 2250 Modelo III, podían controlar hasta cuatro terminales, por lo que el coste por terminal era cercano a los 65.000 dólares, más el host. [3]
- ^ Aunque el manual indica que se puede utilizar "cualquier" computadora con el adaptador apropiado, todas las referencias de terceros mencionan únicamente el PDP-11 en uso.
Referencias
Citas
- ^ Phillips 1978, pág. C.24.
- ^ Weisberg 2008, págs. 13-8–13-9.
- ^ Weisberg 2008, págs. 13-9.
- ^ Dulce 1981.
- ^ Borrelli 2017.
- ^ Peddie 2013, pág. 316.
- ^ Referencia 1972, pág. 1-1, 1–3.
- ^ ab Referencia 1972, pág. 1-4.
- ^ abcd Referencia 1972, pág. 1-3.
- ^ Referencia 1972, pág. 1-1.
- ^ ab Referencia 1972, pág. 1-7.
- ^ Referencia 1972, pág. 1-2.
- ^ Borrelli 2017, p. Ver imágenes.
- ^ abc Referencia 1972, pág. 3-3.
- ^ Referencia 1972, pág. 1-14.
- ^ Referencia 1972, pág. 1-16.
- ^ Referencia 1972, pág. 2-12.
- ^ Referencia 1972, pág. 1-23.
- ^ Referencia 1972, pág. 1-9–1-14.
- ^ Referencia 1972, pág. 1-20.
- ^ Referencia 1972, pág. 2-13.
- ^ Referencia 1972, pág. 3-4.
- ^ Referencia 1972, pág. 3-4–3-6.
- ^ Referencia 1972, pág. Apéndice B.
- ^ Referencia 1972, pág. 3-14–3-35.
- ^ ab Sweet 1981, pág. 29.
- ^ DeFanti y Sandin 1981, pág. 50.
- ^ Dulce 1981, pág. 30.
- ^ Muuss 2000, pág. 91.
- ^ desde Muuss 2000, pág. 92.
- ^ "Descripción general". BRL-CAD .
Bibliografía
- Borrelli, Christopher (23 de mayo de 2017). "Los planos de la Estrella de la Muerte de 'Star Wars' fueron creados en la UIC". Chicago Tribune .
- DeFanti, Tom; Sandin, Dan (1981). "Adaptación del sistema a los objetivos: ver o no ver televisión". En Clark, David (ed.). Computadoras para la creación de imágenes . Pergamon Press. págs. 39–55. ISBN 9781483294636.
- Manual de referencia del sistema de visualización de gráficos vectoriales. Vector General. Enero de 1972.
- Muuss, Michael (septiembre de 2000). "Historia reciente: supercomputadoras y redes". En Bergin, Thomas (ed.). 50 años de informática militar: desde ENIAC hasta MSRC . DIANE Publishing. ISBN 9781428916593.
- Peddie, Jon (2013). La historia de la magia visual en las computadoras. Springer. ISBN 9781447149323.
- Phillips, Richard (1978). Aplicaciones de gráficos por computadora. Universidad de Michigan.
- Sweet, Neesa (febrero de 1981). "Animando la trinchera de la Estrella de la Muerte" (PDF) . Lo mejor de las películas fantásticas: la revista de los medios imaginativos . pp. 26–30.
- Weisberg, David (2008). La revolución del diseño de ingeniería (PDF) .
Enlaces externos
- Making of de los Gráficos por Computadora para Star Wars, cortometraje realizado por Larry Cuba para ilustrar el proceso de realización de las animaciones de Star Wars .