bug in transformations
Daniel Kochmański
daniel at turtleware.eu
Wed Dec 23 15:22:03 UTC 2020
Hey Paul,
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday, 14 December 2020 21:11, Paul Werkowski <pw at snoopy.qozzy.com> wrote:
> I am working on getting McCLIM working on Lispworks7 on Windows 10. All
> is going well and I will have a few patches to contribute soon.
>
> I do have 32 bit Lispworks Professional here, with CLIM2, that I have
> been using for quite awhile now so I have my own code to use for testing
> the port. One fairly simple plotting program put up a frame with no
> complaints but appeared to show nothing on the screen. I traced the
> issue to a disagreement between clim2 and McCLIM implementations in
> transformation composition which caused my expected image to display way
> out of the clipping region. This bit of code shows the problem...
>
> (defun txf()
> (let ((scale-x 2.35)
> (scale-y 24.7)
> (origin-x 38.0)
> (origin-y 263.0))
> (let* ((st (clim:make-scaling-transformation
> scale-x (- scale-y)))
> ;;#<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION
> ;; 2.35 0 0 -24.7 0.0 0.0>
> (tt (clim:make-translation-transformation origin-x origin-y))
> ;;#<CLIM-INTERNALS::STANDARD-TRANSLATION :DX 38.0 :DY 263.0>
> (ct1 (clim:compose-transformations tt st)) ; correct in
> clim2 & Mcclim
> ;;#<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION
> 2.35 0.0 0.0 -24.7 38.0 263.0> <<<<<
> ;; McCLIM gets this wrong (assuming clim2 is correct).
> (ct2 (clim:compose-transformation-with-translation
> (clim:make-scaling-transformation
> scale-x (- scale-y)) origin-x origin-y))
> ;;#<CLIM-INTERNALS::STANDARD-HAIRY-TRANSFORMATION
> ;; 2.35 0.0 0.0 -24.7 89.299996
> -6496.1> <<<<<
> )
> (values st tt ct1 ct2))))
>
> Reading the clim2 spec, I think clim2 implements it correctly.
>
> Paul
thank you for letting us know. You are right, McCLIM got it wrong since 2018.
I've proposed the fix in https://github.com/McCLIM/McCLIM/pull/1117, I'm going
to merge it today or tomorrow.
Best regards,
Daniel
--
Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland
TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
More information about the mcclim-devel
mailing list