Re: gEDA-user: coordinate systems [was: pcb crooked traces]
On Fri, Oct 15, 2010 at 5:15 PM, Stefan Salewski m...@ssalewski.de wrote: On Fri, 2010-10-15 at 11:54 -0700, Andrew Poelstra wrote: The reason for it is that this is generally how drawing canvases work, so from a programmer's perspective, it is simpler to have y pointing down. WHY? Mainly because that has been the standard at least since Televisions were invented. The beam in a CRT scans from left-to-right, top-to-bottom. It's codified in the NTSC standard. So (x,y)=(0,0) is the upper left corner. Why are CRT's like this? Probably because words in books are also oriented left-to-right, top-to-bottom. Maybe if the television had been invented in the middle-east it would be different. I've got several digital image processing books on my shelf, the oldest is from 1972. Every one of them defines (x,y)=(0,0) as the upper left corner of an image. y as positive down, and x as positive right is simply the de-facto standard in digital image processing. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
Am 17.10.2010 um 17:16 schrieb Levente Kovacs: I think that is why X11 has its coordinate system as is; and that is why PCB developers went that way. But a CAD tool is not about CRT display or image processing. I think we should change it; it looks very awkward for a new user, who doesn't know the story. Being a new gEDA user and fairly experienced with other CAD applications I can tell I couldn't care less. If one ever has to enter or read coordinates manually, there's something incomplete or wrong with the GUI. another EUR 0.02 :-) Markus - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.jump-ing.de/ ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
Phillip Jones wrote: I disagree. There are situations I can think of in which manually entering coordinates would be simpler than using a GUI method. I definitely think we sould flip the coordinate grid, but what would that do to exiting files? Version the file format. Introduce a new PCB_FILE_VERSION. If this is defined in the file then call the appropriate read function, if it is not defined then use the old function. The file format of pcb-boards is versioned, the footprints aren't. Both use the Y+ is down cs now, but clearly that's the only solution for both ;-) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
...and pcb is the only CAD program I know of, that does like this I've run across other PC layout tools which do this. Mechanical CAD tools usually have (by default) Y+ pointing up, but for some reason PC design tools occasionally have Y+ facing down. I don't remember any of these tools justifying their (less common) choice of convention however. :) Joe T On Wed, Oct 13, 2010 at 3:35 AM, Armin Faltl [1]armin.fa...@aon.at wrote: Andrew Poelstra wrote: On Tue, Oct 12, 2010 at 10:12:41PM +0200, Armin Faltl wrote: Btw. while being a different topic, how about getting rid of the lefthanded coordinate system, when all numeric computations have to be checked anyway? This should make the cs consistent with trigonometric functions. What does lefthanded coordinate system mean? It means, that positive coordinate axes can be generated as follows: looking from Z+ to the center X+ moves into Y+ by a clockwise rotation (for lefthand). Z+ is your extended thumb, then form your fingers to a hook; the finger tips point into the direction of rotation around the thumb. With cyclic permutation look along: Z+: X - Y X+: Y - Z Y+: Z - X A lefthanded coordnate system is the mirror image of a righthanded one, the later being the norm for mathematical formulations, esp. vector notation of rotation. E.g. in polar coordinates P = P(r, phi) the angle phi has to be measured counterclockwise from the X-axis to make the transformation to cartesian coordinates look like: P = P(x, y) = P(r*cos(phi), r*sin(phi)) with X+ pointing right an Y+ pointing up (and Z+ pointing out of screen). This is a convention. One can argue, to define the the sense of rotation clockwise and have Y+ look downward, but this is against the mathematical standard and pcb is the only CAD program I know of, that does like this. It's incompatible with any CAM file format, plotter language, OpenGL etc. Many raster devices and -image formats are lefthanded, probably the reason, why pcb is. Sorry for (partly) repeating myself. ___ geda-user mailing list [2]geda-u...@moria.seul.org [3]http://www.seul.org/cgi-bin/mailman/listinfo/geda-user References 1. mailto:armin.fa...@aon.at 2. mailto:geda-user@moria.seul.org 3. http://www.seul.org/cgi-bin/mailman/listinfo/geda-user ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
On Fri, Oct 15, 2010 at 11:49:11AM -0700, joe tarantino wrote: ...and pcb is the only CAD program I know of, that does like this I've run across other PC layout tools which do this. Mechanical CAD tools usually have (by default) Y+ pointing up, but for some reason PC design tools occasionally have Y+ facing down. I don't remember any of these tools justifying their (less common) choice of convention however. :) The reason for it is that this is generally how drawing canvases work, so from a programmer's perspective, it is simpler to have y pointing down. I remember learning to draw function graphs in grade school, and being surprised that y went up because I had used QBASIC for many years before that. Afterwards, I had to remember to put -y everywhere when using Qbasic as a graphing calculator. -- Andrew Poelstra Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net Web: http://www.wpsoftware.net/andrew/ ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
On Fri, 2010-10-15 at 11:54 -0700, Andrew Poelstra wrote: The reason for it is that this is generally how drawing canvases work, so from a programmer's perspective, it is simpler to have y pointing down. WHY? And of course, we had that discussion some months ago: http://archives.seul.org/geda/user/Aug-2010/msg00406.html ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
On Fri, 2010-10-15 at 23:15 +0200, Stefan Salewski wrote: On Fri, 2010-10-15 at 11:54 -0700, Andrew Poelstra wrote: The reason for it is that this is generally how drawing canvases work, so from a programmer's perspective, it is simpler to have y pointing down. WHY? And of course, we had that discussion some months ago: http://archives.seul.org/geda/user/Aug-2010/msg00406.html For cairo two statements fix the default system: CR.translate(0, y) # translate y==0 to bottom CR.scale(1, -1)# flip y direction May be similar for OpenGL. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
Andrew Poelstra wrote: On Tue, Oct 12, 2010 at 10:12:41PM +0200, Armin Faltl wrote: Btw. while being a different topic, how about getting rid of the lefthanded coordinate system, when all numeric computations have to be checked anyway? This should make the cs consistent with trigonometric functions. What does lefthanded coordinate system mean? It means, that positive coordinate axes can be generated as follows: looking from Z+ to the center X+ moves into Y+ by a clockwise rotation (for lefthand). Z+ is your extended thumb, then form your fingers to a hook; the finger tips point into the direction of rotation around the thumb. With cyclic permutation look along: Z+: X - Y X+: Y - Z Y+: Z - X A lefthanded coordnate system is the mirror image of a righthanded one, the later being the norm for mathematical formulations, esp. vector notation of rotation. E.g. in polar coordinates P = P(r, phi) the angle phi has to be measured counterclockwise from the X-axis to make the transformation to cartesian coordinates look like: P = P(x, y) = P(r*cos(phi), r*sin(phi)) with X+ pointing right an Y+ pointing up (and Z+ pointing out of screen). This is a convention. One can argue, to define the the sense of rotation clockwise and have Y+ look downward, but this is against the mathematical standard and pcb is the only CAD program I know of, that does like this. It's incompatible with any CAM file format, plotter language, OpenGL etc. Many raster devices and -image formats are lefthanded, probably the reason, why pcb is. Sorry for (partly) repeating myself. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: coordinate systems [was: pcb crooked traces]
On 12.10.2010 22:37, Andrew Poelstra wrote: What does lefthanded coordinate system mean? http://en.wikipedia.org/wiki/Cartesian_coordinate_system#In_two_dimensions ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user