# Re: [Inkscape-devel] [Inkscape-user] Equivalent to Illustrator's Gradient Mesh?

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Sat, 26 May 2007 17:01:40 +0200

Message-Id: <200705261701.40116.Dr.O.Hoffmann@gmx.de>
```
>> Photorealism (or something akin to it) seems to be one use case.

This may work with linear interpolation/triangulation and a gaussian
blur filter (or feConvolveMatrix) to smooth everything a little bit as
in a JPEG.
Maybe this fits somehow to the granularity of the real world too
(think about string theory, particle picture in quantum theory
and the principle of uncertainty).
Just the triangles have to be small enough compared to the standard
deviation of the gaussian blur.
No uncertainty and no blurring is not (photo)realistic anymore, it is
hyperrealistic ;o)
But you always need both gradients and filters to get a useful result.

>More generally, approximating arbitrary functions from 2d points to
>points in the rgba space, whether they're photos or some sort of
>scientific plot (c.f. Dr. Hoffmann's use case).

For a plot a gaussian blur is not always the best choice to cover
discontinuous residuals of bad interpolation. In a scientific publication
you will not show a 'running average' ;o).
If only linear interpolation/trangulation is available you have to put
everything together with very small pieces to cover the fact that the
curve/surface is not smooth. This means always huge file sizes even
for trivial functions to interpolate.
In the related lower dimensional case to plot (and maybe to animate)
a function f(x), (1D -> 1D) the cubic bezier (1D -> 2D) is a nice choice,
because continuously differentiable f(x) can be approximated with
continuously differentiable bezier curves saving a lot of file size.
This is in most cases different for animation, because the human
eye/brain combination is normally not able to see small accelerations
(pushes, abrupt changes in velocity), therefore the advantage of a good
cubic spline interpolation in animation for the file size is in most cases
less important as for curves (1D  -> 2D) or a display of a gradient
(2D -> 1D or 2D -> rgba (4D)).
```
Received on Saturday, 26 May 2007 15:01:45 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:10 UTC