Vector Graphics

1.04K views

I understand that the beam is manipulated directly, and that’s what makes it different from raster, but I don’t understand how that would work or why it works and how it knows what order to do things in or why it requires different hardware or anything.

In: Technology

3 Answers

Anonymous 0 Comments

Do you mean the old oscilloscope-style vector graphics or the modern of vector graphics?

Anonymous 0 Comments

Classic vector graphics uses a Cathode Ray Tube – an electron beam is controlled by electromagnets onto a phosphorous target. The phosphorous is energized and illuminated, providing the displayed image. Engineers can design such a screen with multiple beams, stronger or weaker beams, different phosphorous coatings, and even multiple phosphorous layers. The effect is the ability to draw multiple lines simultaneously, images that last longer, shorter or longer refresh rates, and even color. Color can also be set with masks and even color changing masks using TFT LCD technology.

There are electronics that control the beam, and those are controlled by an analog input signal. The details of this signal are dependent upon the device, but in my experience with oscilloscopes, you can generate a control signal with some software and the output of your sound card.

These devices are pretty limited in their capability but are desirable in some context, I suppose. Sometimes, you just can’t beat analog. These devices don’t store the image any longer than the phosphorous stays illuminated, so the device driver has to run in a loop to control refresh.

Modern vector graphics are a set of points and strokes with brushes. The image renderer has to follow an ordered set of instructions to generate the image from those instructions. The renderer drives a rasterizer, which is software that populates pixel data in a pixel buffer. The data is sent through a video driver, a layer of the OS, to the video hardware, that sends signals to your modern pixel display device.

Anonymous 0 Comments

> how that would work

The way they originally made TV’s and computer monitors was with some stuff that glows when it’s hit by electrons. Paint the glowy stuff on a piece of glass and fire electrons at it.

You can use entirely electronic means (electric / magnetic fields) to accelerate the electrons, control *intensity* (how many electrons you send), and *scan* (point the electrons to precise locations on the screen).

Most monitors used a *raster* display. This word (“raster”) means the scan pattern is always a series of horizontal lines (“scan lines”), going from left to right on each line. The lines go in order from top to bottom, covering the entire screen. [Here](https://www.youtube.com/watch?v=3BJU2drrtCM) is the Slow Mo Guys using a high speed camera to show/explain this.

> how it knows what order to do things in

In general, a screen is connected to an external circuit that provides a signal “telling” it what image to draw. In an old TV, this external circuit would be a bunch of amplifiers and filters connected to an antenna. In a monitor, the external circuit would be provided by a computer attached by e.g. a [VGA connector](https://en.wikipedia.org/wiki/VGA_connector).

A raster display contains internal hard-wired circuits for generating its scan pattern. The external circuit only provides an intensity signal (which is synchronized with the scan pattern by means of timing signals that come from the internal circuitry). [Here](https://www.youtube.com/watch?v=l7rce6IQDWs) is electronics Youtuber Ben Eater building a circuit that generates an intensity signal to display an image.

A vector display (by contrast to a raster display) has a more flexible interface, that allows the external circuit to control both the pattern and the intensity. To draw a circle on a raster display, a program running on the attached computer would have to pixellize it [like this](https://en.wikipedia.org/wiki/Midpoint_circle_algorithm#/media/File:Bresenham_circle.svg). But with a vector display, you could literally sweep the beam in a circle, making a more precise, non-pixellated image.

People [used to sometimes build vector monitors](https://en.wikipedia.org/wiki/Vector_monitor), but new ones mostly stopped being built in the early 1980’s.

> why it requires different hardware

It’s a matter of interfacing.

A vector monitor’s internal circuit needs its scan pattern generating circuitry to be left out, or at least possible to disable/overridde. Likewise, the external circuit (i.e. computer) has to be built / programmed to generate the scan pattern.

Both raster/vector include two pieces of separately built / purchased hardware (computer + monitor). They differ in which piece of hardware is responsible for generating the scan pattern, and how it’s communicated between the two.

> Vector Graphics

I should mention Vector Graphics is also a way of *thinking* about graphics. Vector graphics *hardware* is basically a museum piece at this point.

But vector graphics is still used as an *approach for writing software* that treats images as idealized, geometrically “perfect” mathematical objects (lines / circles, but often they use a cubic polynomial called a “Bezier curve”). Of course, to actually show them on a screen, *eventually* those lines / circles / curves have to be “rasterized” (i.e. turned into pixels) because all modern displays are raster displays. But if the software’s written with the vector graphics mindset, it will do as much as possible with the mathematical objects, only rasterizing them *at the last minute* before they’re about to be displayed.

For example, if you use a browser to zoom in on a webpage, the “curvy” parts of the letters never start looking “blocky” no matter how far you zoom in. That’s because the browser’s font system (how it displays text) handles the rasterization *after* it handles the zooming. The further you zoom in, the more precise pixelization you get, so you always see as graceful a curve as your monitor can show.

On the other hand, if you take a screenshot and zoom in on the screenshot, you’ll quickly notice the blocky looking result. That’s because the act of taking a screenshot rasterizes the text, and the vector information’s lost. The screenshot function, and the image handling software you use to zoom in on the screenshot, handles the screen in an entirely “raster” fashion (as pixels). These pieces of software have no idea how to create more precise pixelizations of letters. They don’t even know what letters or curves *are*, all they’re programmed to work with are pixels.

Vector graphics may be dead as a monitor technology, but it’s alive and well as a software design philosophy.