Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!bcm!shell!leo!lee From: lee@leo (Bill Lee) Newsgroups: comp.lang.postscript Subject: Re: Non-orthogonal coordinates? Message-ID: <1991May15.133539.14593@shell.shell.com> Date: 15 May 1991 13:35:39 GMT References: <91130.171855CXT105@psuvm.psu.edu> Sender: usenet@shell.shell.com (USENET News System) Organization: Shell Oil Lines: 35 In article <91130.171855CXT105@psuvm.psu.edu> Christopher Tate writes: >Is it possible, in PostScript, to set up a non-orthogonal coordinate >system (i.e. one in which the x and y axes are not oriented 90 degrees >from each other)? > >------- >Christopher Tate | > | "Idle lawyers tend to become politicians, >cxt105@psuvm.psu.edu | so there is a certain social value >{...}!psuvax1!psuvm.bitnet!cxt105 | in keeping them busy." >cxt105@psuvm.bitnet | Yes. Here's a little routine that does just what you suggest. Bill Lee lee@shell.com Shell Oil Co. -------------------------cut here------------------------------------------- %* _________________________ Oblique __________________________________________ %* Procedure to modify the (normally) rectangular coordinate system of the %* page to a non-right angle. When used, all x and y dimensions are %* measured parallel to the new x and y axese. This results in squares %* becoming parallelograms, circles becoming ellipses, etc. It also means that %* moving off into the page will often run off the edge of the paper, so %* be careful of the positining on the page. %* %* angle Oblique %* where angle is the off-vertical of the Y axis in degrees. %* A positive angle is clockwise rotation of the Y axis %* relative to existing axis. /Oblique { /angle exch def [ 1 0 angle sin angle cos 0 0 ] concat } def