[SIGCIS-Members] Origin of "vector" in vector graphics

Rory Solomon solomonr at newschool.edu
Wed Feb 24 13:18:08 PST 2021

Hi Bernie,

This might be slightly *ahem* orthogonal to the question of vector
graphics, but depending how widely you wish to dilate your sense of
"vector" here, it might make sense to also consider two other
tangentially-related senses: the vector data structure, and the vector CPU.

In some programming language contexts, the array data structure for holding
a list of values was typically created of a fixed size. If the programmer
wanted to grow the size of a list of numbers, memory management techniques
would have to be utilized to find and allocate additional storage space.
The idea of the vector data structure was a dynamically-sized array capable
of doing that memory management, in a sense, automatically, hiding those
implementation details from the programmer. This behavior has become the
norm in most high-level programming languages, so I think the term vector
in this sense is mostly obsolete. But I've always wondered about the
origins of this term for this data structure. My best guess is that a
vector data structure could be evocative of a mathematical vector in the
sense that it can grow, or, scale – like how the magnitude of
a mathematical vector can be increased when multiplied by a scalar. It
doesn't strike me as an obvious coinage to use for this concept, so I
wonder if maybe there is some link in which early developers of the vector
data structure for some reason or another had the mathematical concept of
the vector fresh in the mind and ready to deploy as a metaphor.

In a somewhat related sense, the vector CPU was a technique in parallel
processing whereby machine instructions, instead of specifying a single
memory location to operate on, would specify a memory location and a
quantity, corresponding to the number of adjacent values in memory on which
to execute the given operation. The idea here was that loading values into
registers to operate on from memory became a bottleneck, so if algorithms
could be coded such that machine instructions could operate on many
contiguous values at once, those values could all be pre-loaded into
registers at once, instead of having to go to memory for each instruction.
My guess is that the term "vector" pertains here because a vector-based
machine instruction would include not just a memory location, but a memory
location and the number of contiguous values to operate on – metaphorically
evoking the way that a mathematical vector is often represented by two
values: a direction and a magnitude. Again, it does not seem like a
particularly obvious term to apply, so I wonder if there is some reason why
this is the one that developers decided to use.

I'm enjoying all the discussion on this thread!


Rory Solomon, PhD (he / him)
Assistant Professor & Director of Code as a Liberal Art
Eugene Lang College, The New School
solomonr at newschool.edu | @rorys

On Sat, Feb 20, 2021 at 3:27 AM Bernard Geoghegan <
bernardgeoghegan2010 at u.northwestern.edu> wrote:

> Hi SIGCISers,
> Can anyone advise on the origin of the term “vector graphics.”
> Clearly, it literally describes a production of “vectors” on the screen by
> a concrete line-drawing technology. However, I’m wondering if there were
> multiple senses in that term initially. Specifically, looking through SAGE
> documentation from the 1950s and 1960s, esp, accounts of if operator
> displays, “vector” describes the physical trajectory of planes on the
> display. As SAGE was also a key source for early graphical interfaces, I’m
> wondering of the term “vector graphics” had a double connotation, as an
> analogy between the flight paths and the manner of illustrating graphics.
> It’s not earth shaking, but it’s etymologically neat-o if one can trace
> “vector graphics” to multiple connotations at its coinage.
> Best, b
> _______________________________________________
> This email is relayed from members at sigcis.org, the email discussion
> list of SHOT SIGCIS. Opinions expressed here are those of the member
> posting and are not reviewed, edited, or endorsed by SIGCIS. The list
> archives are at
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.sigcis.org_pipermail_members-2Dsigcis.org_&d=DwICAg&c=slrrB7dE8n7gBJbeO0g-IQ&r=xQ27Xpp_1MwpAfMieAaTnw&m=DkJto07C57Sh_WpTn7l0S91wwJQUFA2MU75qC5tP7ik&s=oNo1PEGiWi8VY3hkFyEzi2JSKvM1slwWKv4YMS5EOeo&e=
> and you can change your subscription options at
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.sigcis.org_listinfo.cgi_members-2Dsigcis.org&d=DwICAg&c=slrrB7dE8n7gBJbeO0g-IQ&r=xQ27Xpp_1MwpAfMieAaTnw&m=DkJto07C57Sh_WpTn7l0S91wwJQUFA2MU75qC5tP7ik&s=byIP0_qOK1xdN_QvBKMktUyDVvzxvsez77jH6QbAGBc&e=
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sigcis.org/pipermail/members-sigcis.org/attachments/20210224/fcb657e9/attachment.htm>

More information about the Members mailing list