David,

I'm a little uncertain where this is going, however it appears that  
your transform isn't effecting the latitudinal lines of the brickwork.

Erik may be suggesting this graphic as a defining example:
http://upload.wikimedia.org/wikipedia/commons/5/57/ 
Perspective_correct_texture_mapping.jpg

though I'd prefer something with normal perspective using a brick  
pattern such as:
http://peepo.co.uk/temp/brick-pattern.svg

the point being that perspective is in such general use, that it  
'should' be easy for the author to implement. without parallax and  
all the rest of the 3D stuff.

regards

Jonathan Chetwynd
Accessibility Consultant on Media Literacy and the Internet



On 22 Jan 2008, at 16:34, David Dailey wrote:

Hi folks,

Here is an example using feDisplacement
(animated) to apply nonlinear distortion to a brick pattern.

It works in IE/ASV and in Opera 9.5 (something).

http://srufaculty.sru.edu/david.dailey/svg/distort.svg

What it does is to overlay two gradients: one
vertical one on top of a horizontal one within a
group. The opacity of the vertical gradient is
varied through SMIL. The gradients is then used
as the basis for an feDisplacement for the bricks
(that are built through script). I used two
gradients to simulate a conic shape, though
clearly a better conic approximation could be
build through script (building rects with
progressively wider linear gradients).

It demonstrates that one can build gradients to
provide a non-affine distortion of an image, however,
a) using feDisplacement to deform a specified
amount (as to use in morphing or in image
scrambling) is a bit on the tricky side. You may
note some kludges in the source, done to get
everything to find the filter's rectangle.
b) the deformation is applied to a virtual bitmap
rather than to its associated vectors -- hence
the resultant image loses its crispy vector
flavor -- resulting in a sogginess that will be
less pleasing than what some humans have come to
expect from their SVG. -- Perhaps another
smoothing filter applied over the top of it all
could smooth out the rough edges a bit.

cheers
David
At 07:05 AM 1/22/2008, you wrote:

 >On Tue, 22 Jan 2008 12:52:47 +0100, ~:'' あã 
‚ŠãŒã¨ã†ã”ざいました。
 ><<mailto:j.chetwynd%40btinternet.com>[EMAIL PROTECTED]> wrote:
 >
 > > there's a simple Brick Pattern here:
 > >
 > <http://peepo.co.uk/temp/brick-pattern.svg>http://peepo.co.uk/temp/ 
brick-pattern.svg
 >
 >You might want to remove the space in patternUnits="objectBounding  
Box".
 >
 > > feDisplacementMap may well be a possible route, however it does  
seem
 > > somewhat complex in the relation to the concept.
 >
 >Not sure that would be able to give true perspective correct images  
though.
 >
 > > On 21 Jan 2008, at 23:27, Frank Bruder wrote:
 > >
 > > Hi,
 > >
 > > would be great if full 3x3 matrices--without the third row  
implicitly
 > > set to [0 0 1]--were allowed for transform values. This would allow
 > > for perspective distortions. But I'm not sure if this wouldn't  
be too
 > > difficult for implementors since singularities (the horizon) would
 > > need to be dealt with, in case they become visible.
 >
 >Indeed the 2d transforms that are in SVG today are not capable of  
handling
 >this case.
 >
 > > There was a question before regarding perspective distortion of  
text.
 > > And I remember someone suggested using the filter primitive
 > > feDisplacementMap. But no solution for creating the correct image
 > > data to use for in2 was found then. Maybe this was resolved in the
 > > mean time.
 >
 >There are other tricks, for example drawing the image repeatedly (with
 >clipping) while varying the scale transform.
 >That would probably look a bit ugly though, possibly it could be  
smoothed
 >out a bit by using filters or masks.
 >
 >Cheers
 >/Erik
 >
 >--
 >Erik Dahlstrom, Core Technology Developer, Opera Software
 >Co-Chair, W3C SVG Working Group
 >Personal blog: <http://my.opera.com/macdev_ed>http://my.opera.com/ 
macdev_ed
 >






-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to