|
![](/i/fill.gif) |
In article <399### [at] kivisalo net>, Kari Kivisalo
<kar### [at] kivisalo net> wrote:
> u is the density/potential at (x,y,z).
Simply the field value? Then this is nothing more than a kind of 3D
convolution matrix...right? Basically a blurring operation.
> > Does it require that the density field be converted to a voxel image?
>
> As I said before this algrithm is a numerical discrete approximation,
> not analythical. The input and output are are voxel images just like
> the 2d case works with 2d images. Only certain special cases of potential
> fields can be solved analythically at any point. The whole volume must
> be solved at once so it's impossible solve just one point at a time.
Are you sure about this? It seems like some kind of recursive algorithm
could be used to do a similar effect, sampling at one distance,
subdividing and interpolating, sampling again, etc. I am going to have
to experiment with this...
It wouldn't be the same algorithm, but it should be similar in results.
> In povray terms this requires a pre-rendering pass to sample the volume
> of interest at specified resolution and then solving the potential field
> within that volume.
This could most easily be done in the parsing stage, and would probably
be a density_file pattern internally. However, you would have to specify
a resolution large enough, and it would consume a lot of memory. :-(
If this absolutely requires a voxel image, then might as well implement
it as a density_file feature, and add the ability to create a
density_file pattern from another pattern(like object). You could
already do so with a macro and eval_pattern() or eval_pigment(), but the
parse time would be long.
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |