Re: Math/Theory Questions about PostScript-style drawing
Re: Math/Theory Questions about PostScript-style drawing
- Subject: Re: Math/Theory Questions about PostScript-style drawing
- From: "Craig S. Cottingham" <email@hidden>
- Date: Mon, 17 Sep 2001 16:47:32 -0500
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Monday, September 17, 2001, at 03:29 , Matthew Cox wrote:
So my question is: since these seem to operate on points individually,
how can multiplying a point by the scaling matrix enlarge it? It would
simply spit out a new point, and the same sort of idea for Rotation, is
it not just rotating a point, which is essentially a zero-dimensional
object? Or am I missing a portion of the step? For instance, wouldn't
the rotation matrix need to "know" what the center of rotation is? Or
would the scale need to know where to find the center of the construct,
so it could "stretch" points accordingly? I'm interested more in the
mathematics of it than the actual implementation and use, but still
real-world usage would be appreciated.
Oy, it's been a long time since I dealt with this, and I have
long since lost the book from which I learned it, but fools rush
in where angels fear to tread, so here goes.
A point is just a point. You can't arbitrarily give it a
location -- its location has to be relative to some other
location. So when you say a point is at (1,1), you're really
saying that it's one unit along each axis from point designated
(0,0).
Coordinates expressed as (x,y) or (x,y,z) are often called
vectors, for good reason: they describe a vector originating at
the origin of the coordinate system and terminating at the given
coordinate. So one way to wrap your head around this is to
temporarily stop thinking of points as points and start thinking
of them as vectors.
Now, hopefully, the transformations start to make more sense.
Scaling skews the termination point of the vector, altering its
magnitude in the process. (There's also translation, which also
skews the termination point of the vector, but modifies each
component by a constant amount rather than a factor of the
component's original value. For a single point, there's
essentially no difference, but when you apply the same
transformation to a set of vectors, the difference is whether
the vectors *between* points in the set change or remain
constant.) Rotation rotates the vector around its origination
point while keeping its magnitude constant.
I hope that (a) that made sense and (b) didn't talk down to you.
As I said, it's been a long time, so I'm not confident of my
ability to describe it well.
- --
Craig S. Cottingham
email@hidden
PGP key available from:
<
http://pgp.ai.mit.edu:11371/pks/lookup?op=get&search=0xA2FFBE41>
ID=0xA2FFBE41, fingerprint=6AA8 2E28 2404 8A95 B8FC 7EFC 136F
0CEF A2FF BE41
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (Darwin)
Comment: For info see
http://www.gnupg.org
iD8DBQE7pm98E28M76L/vkERAjGiAJ4o+wy/ACeGn3qRGfuRgwuq/rBLlACg9Zsj
maGvt59766Ye5pIjMUqybJM=
=rE8n
-----END PGP SIGNATURE-----