Re: Standardizing coordinate systems, units of measure

Adam T. McClure (mcclurea@boulder.colorado.edu)
Fri, 5 Aug 1994 07:20:25 -0600


Ok. I think this debate is old. I would personally like to see it wrapped
up soon so I hope my $.02 does something to help settle the debate.

I did, however, want to ask (and this is not at all intended as elitist
posturing or a rebuff) how many list members have had significant
applications programming experience on a GUI platform? I can only draw on
Mac and X myself, but the similarities between the two systems (both based
on Xerox PARC research I believe) suggest some simple constants for the
description of things from the programming end. To begin with, why not
adopt a VRML 1.0 standard coordinate system and a __new_coordinate_system
hook could be made available as an "engine" extension. Basically, we
standardize something and modifications would override the standard
definition by way of providing the object transform yourself. Yes, that
means that a different coordinate system would require some system
programming knowledge, but I think the number of people who insist on
interpreting space differently will not be your accountant or personnel
manager, but rather the object designer who writes engine extensions on a
regular basis anyways. I don't think it's stepping on anyone's freedoms to
say, "I won't tell you how to define space, but I'm going to ask that you
use the same language to describe it to me so that I can understand it
too." There's a related debate in literary theory right now if you're
interested in work that's already been done on an epistemological level in
this direction. So on to the common definition.

I heard one list member (pardon the faulty memory) mention that they felt X
screwed up by making the window origin 0,0 and everything else a positive
direction away from that. The reason for this is that each window has it's
own coordinate display system for drawing graphics. Within that window you
can have more 'panes' that again have a different system. By different
coordinate system I mean that the origin is now relative to the top-left
corner of the child window and all drawing in the child is not relative to
the parent, but to the child. The KEY reason for this is that if the user
wants to resize or move the window you don't have to recalculate the
coordinate locations of everything in the entire video buffer, just the
object that moved. The top-left location of the local origin is important
as well in terms of adjusting the window. If your adjustment handle is in
the bottom-right corner, no matter how large or small the window becomes,
you still have something relative to 0,0. Another reason the origin isn't
the center of the window is on a practical assembly level. It takes more
time and your chances of an addressing error increase anytime you start
mixing signed ( +/- ) values in the registers. I don't think that's
necessarily a truism, but I've solved many a bug simply by eliminating the
need to change signs.

With all this in mind it seems most practical to me to have an X,Y,Z system
that begins at 0,0 top-left and increases to the right with X, and
increased down with Y. Z can be either into the screen or out from it, but
simply pick one. There have been more votes for into the screen than not
so I'll throw mine in with that crowd.

Basically, I'm suggesting that we compromise and adopt some formal standard
decription that hopefully conforms to a sensible description of space and
leave hooks in the description language for a (programmer-designed)
extension that describes any non-standard coord. systems. I believe the
reason this debate originated is that many of us are comfortable looking at
the world and describing it in one way, and it seems that the standard
might not be the same as what you are personally used to. That seems like
a problem of perspective and not wanting to modify the way one approaches
the description of space based on a personal preference to have it
described a particular way. Please ask yourself (if you're part of this
debate) why you object so strongly to things going a particular way so that
we might come to an agreement on the issue.

"Thank you all so much, I .... AAAAGGHHH!" *crash!*
"Damn. Fell off my soapbox again."

****************************************************************************
When philosophy has grown beyond science, * --Adam T. McClure
it is time to create a new science. *
* Colorado Center for
"Any sufficiently advanced technology is * Astrodynamics Research
indistinguishable from magic." (Arthur C. Clarke.) *
****************************************************************************