On 13-Sep-07, at 4:14 AM, Edi Weitz wrote:
On Tue, 11 Sep 2007 11:13:24 -0500, "Michael J. Forster" <mike@sharedlogic.ca> wrote:
I'm using WITH-TRANSFORMATION to simplify the graph plotting, and it's not behaving the way I would expect. As I read it in the documentation, this...
(with-transformation (:x1 0 :width width :y1 0 :height height) ...)
... should transform the coordinate system from this...
0,0 -----> width - 1 | | | V height - 1
... to this...
height - 1 ^ | | | 0,0 -----> width - 1
Hmm, why do you think that? I would expect a transformation from
0,0 -----> image-width | | | V image-height
to
height ^ | | | 0,0 -----> width
Why do you want to subtract 1? What do you expect to happen if WIDTH or HEIGHT /are/ 1?
I was thinking of lines on a graph as zero-based vectors. Thus, a vector of length (or axis of width or height) n is indexed from 0 to n-1. And, indeed, with the following... (let ((height 100) (width 100) (x-axis-width (list width 1)) (y-axis-height (list 1 height)) (x-axis-width-1 (list (1- width) 1)) (y-axis-height-1 (list 1 (1- height)))) (cl-gd:with-image* (width height) (set-pixels x-axis-width) (set-pixels y-axis-height) (set-pixels x-axis-width-1) (set-pixels y-axis-height-1) ...)) ... only the last two pixels are displayed on my 100x100 pixel image. The axes are indexed from 0 to n-1. If WIDTH and HEIGHT are 1, I only expect to see the pixel generated by... (set-pixels '(0 0)) Is my brain off by one? Thanks and best regards, Mike -- Michael J. Forster <mike@sharedlogic.ca>