W3C home > Mailing lists > Public > www-svg@w3.org > July 2009


From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Tue, 14 Jul 2009 11:48:36 +0200
To: www-svg@w3.org
Message-Id: <200907141148.36430.Dr.O.Hoffmann@gmx.de>

as well as in
the provided Gaussian blur kernel depends only on the x-coordinate:
H(x) = exp(-x^2/ (2s^2)) / sqrt(2* pi*s^2)
however the attribute stdDeviation provides a value for the 
standard deviation in y-direction too. And of course the effect
is mainly useful, if it depends both on x and y 
(as typically implemented too).
It would be nice to have a formula for the complete kernel G(x,y).
Maybe it is something like this?:


H(x)=exp(-x^2/ (2s^2)) / sqrt(2* pi*s^2)
I(y)=exp(-y^2/ (2t^2)) / sqrt(2* pi*t^2)

with s the standard deviation in x direction
and t the standard deviation in y direction.

Another interesting/surprising thing is, why negative or zero values
disable the rendering of the filtered object:
'A negative or zero value disables the effect of the given filter primitive 
(i.e., the result is a transparent black image).'

Mathematically there is no difference between positive and
negative values in the formula above and a value of zero
simply corresponds to a delta-function (distribution) with the
convolution result to be the unfiltered/unconvoluted object.
Why does SVG differ from this common behaviour?
The current behaviour results in a discontinuation within
a continous animation from a large standard deviation to
0 to get something like a fade-in effect.

Best wishes

Received on Tuesday, 14 July 2009 10:07:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:54:23 UTC