<div dir="ltr">Jens,<div><br></div><div>I deleted my install of the soegaard library and had DrScheme re-download the 2 0 version -- things are the same as before.</div><div><br></div><div>I tried your segments->painter test and it worked properly (line segment from lower-left to center; anti-clockwise rotation).</div>
<div><br></div><div>When I run diagonal-shading, I am definitely getting (0,0) in upper left, (1,1) in lower right, and clockwise rotation with rotate90. </div><div><br></div><div>Thanks for looking into this... At least I know what the correct behavior is now; I'll pass this along to my students.</div>
<div><br></div><div>Fred</div><div><br><br><div class="gmail_quote">On Wed, Oct 1, 2008 at 4:49 AM, Jens Axel Soegaard <span dir="ltr"><<a href="mailto:jensaxel@soegaard.net">jensaxel@soegaard.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="Ih2E3d">Fred G. Martin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear Henderson-users,<br>
<br>
OK, this one threw us for a loop. I loaded soegaard's version of the<br>
Henderson stuff:<br>
(require (planet "sicp.ss" ("soegaard" "sicp.plt" 2 0)))<br>
<br>
Then I tried rotate90 on einstein and mark-of-zorro.<br>
<br>
einstein gets rotated clockwise, but mark-of-zorro is rotated<br>
counter-clockwise (see attached).<br>
<br>
</blockquote></div>
It is clearly a bug. Rotate90 is supposed to rotate the image 90 degrees in<br>
the positive direction (i.e. anti-clockwise).<div class="Ih2E3d"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Here is another (related?) anomoly. In looking at the code for zorro,<br>
it appears that (0,0) is in the lower-left and (1,) is in the<br>
upper-right:<br>
<br>
</blockquote></div>
That sounds right.<div class="Ih2E3d"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(define mark-of-zorro<br>
(let ((v1 (make-vect .1 .9))<br>
(v2 (make-vect .8 .9))<br>
(v3 (make-vect .1 .2))<br>
(v4 (make-vect .9 .3)))<br>
(segments->painter<br>
(list (make-segment v1 v2)<br>
(make-segment v2 v3)<br>
(make-segment v3 v4)))))<br>
<br>
<br>
<br>
</blockquote></div>
> (paint (segments->painter<br>
(list (make-segment (make-vect 0.0 0.0)<br>
(make-vect 0.5 0.5)))))<br>
[image with segment from lower left to the center]<br>
<br>
> (paint (rotate90<br>
(segments->painter<br>
(list (make-segment (make-vect 0.0 0.0)<br>
(make-vect 0.5 0.5))))))<br>
[image with segment from lower right to the center]<br>
<br>
Conclusion: rotate90 works for painters produced by segments->painter.<br>
<br>
Since rotate90 doesn't use the representation of the painter,<br>
the code for rotate90 must be correct. Therefore there must be a problem<br>
with the construction of a painter from a bitmap.<div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But when we tried the diagonal shader, it seems that (0,0) is in the<br>
UPPER-left. my-diag performs the same as the provided<br>
diagonal-shading:<br>
</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(define my-diag<br>
(procedure->painter (lambda (x y) (* 127 (+ x y)))))<br>
<br>
<br>
</blockquote></div>
Another bug, the y-axis is reversed.<br>
<br>
<br>
I'm slightly puzzled. I think I/we already fixed these bugs before. I wonder whether I<br>
accidently uploaded an old version. I'll get back to you either later today or<br>
tomorrow.<br><font color="#888888">
<br>
-- <br>
Jens Axel Søgaard<br>
<br>
</font></blockquote></div><br></div></div>