• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Math/Theory Questions about PostScript-style drawing
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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-----


  • Prev by Date: Re: Math/Theory Questions about PostScript-style drawing
  • Next by Date: NSMovieView uses 3-8% CPU after playing a sound?
  • Previous by thread: Re: Math/Theory Questions about PostScript-style drawing
  • Next by thread: NSMovieView uses 3-8% CPU after playing a sound?
  • Index(es):
    • Date
    • Thread