POV-Ray : Newsgroups : povray.pov4.discussion.general : Feature request: nonlinear scaling : Re: Feature request: nonlinear scaling Server Time
19 Apr 2024 14:02:59 EDT (-0400)
  Re: Feature request: nonlinear scaling  
From: MDenham
Date: 24 May 2009 04:40:00
Message: <web.4a190720366f12461fb989ad0@news.povray.org>
Warp <war### [at] tagpovrayorg> wrote:
> MDenham <nomail@nomail> wrote:
> > Rather, if there was an easy way of performing _arbitrary_ non-linear
> > transformations on arbitrary surfaces.  (Throwing in simple polynomial
> > transforms should be reasonably feasible, however; I'll see if I can hash
> > something up to try it out here sometime in the next few weeks.)
>
>   No, it's just not possible to perform *any* non-linear transformations
> to arbitrary surfaces. Not in any efficient and accurate way.
>
>   The reason is that non-linear transformations (ie. those which cannot
> be expressed with a 4x4 transformation matrix) would require curved rays
> to raytrace, and that's just not feasible.
>
> --
>                                                           - Warp

It's possible to do it without using curved rays, actually; the problem is that,
for meshes, it turns into "take a triangle-like section of a polynomial surface
for every triangle in the mesh", which is (1) ugly to code (2) slow (3) not
possible to improve (unfortunately).  For everything else, it turns into
"substitute these polynomials for the coordinates, then re-solve"; this is also
slower, but somewhat more reasonable.  It is, essentially, the equivalent of
"convert everything that uses polynomial transforms to an isosurface", only
automatic.  Since all of the primitives, except mesh/mesh2, can be represented
fairly easily as an equation, or a relatively small set of equations, this
method should be reasonable to implement.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.