[Newbies] Skewing Forms in Squeak V2

Iulian Wande Radu infinite.flow at gmail.com
Mon Sep 22 23:08:01 UTC 2008


Thank you for the guidelines for skewing forms.

I've followed Matthias' instructions (and the associated math doc) and
skewing works well this way through WarpBlt. (The code linked by Yoshiki was
too slow and didn't work fully).

I wrote the math conversions in a C DLL, and it would probably be useful for
people. Is there any place where I could put the code so the community can
use it ?

Cheers,
Iulian

---------- Forwarded message ----------
From: Matthias Berth <matthias.berth at googlemail.com>
Date: Tue, Jul 22, 2008 at 7:10 PM
Subject: Re: [Newbies] Skewing Forms in Squeak V2
To: "A friendly place to get answers to even the most basic questions about
Squeak." <beginners at lists.squeakfoundation.org>


So it comes down to this:

given a projective transformation T from a rectangle (your form) to a
quad Q (what you want to draw on screen), how can you express the same
transformation in terms of mapping a quad to a rectangle (what WarpBlt
needs)?

One possible plan is:

1) determine the transformation's parameters

2) take the bounding box of Q (a rectangle R) and transform it by the
inverse of T, giving you a quad Q'

3) use WarpBlt to transform pixels in Q' (should be a superset of your
form) to R

4) mask the result with your original quad Q, using pixel-by-pixel
operations on Forms

I think all you need in terms of mathematics for this is in
http://www.cs.cmu.edu/~ph/869/www/notes/proj/proj.pdf<http://www.cs.cmu.edu/%7Eph/869/www/notes/proj/proj.pdf>

Hope this helps, feel free to ask about the details,

Matthias




On Thu, Jul 24, 2008 at 1:39 AM, Yoshiki Ohshima <yoshiki at vpri.org> wrote:

> At Tue, 22 Jul 2008 13:53:21 -0400,
> Iulian Wande Radu wrote:
> >
> > Hi, I'd like to skew the graphics of a Form, is there an easy way to do
> this in v2 ?
> >
> > What I want is to take the rectangle from a normal form, transform it
> into an arbitrarily-defined quadrilateral, and
> > then paint on the screen. I saw that WarpBlt does something like this..
> but it maps a quadrilateral section of a form
> > onto a rectangle.
>
>   There was similar a discussion on this a while ago:
>
>
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2001-February/013402.html
>
> -- Yoshiki
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20080922/0d908fa9/attachment.htm


More information about the Beginners mailing list