|
|
"Trevor G Quayle" <Tin### [at] hotmailcom> wrote:
> > > Sorry, perhaps it was paraboloid, it's been a while and I didn't look it up
> > > first...
> > >
> > > Odd , I can't find anything that relates the relationship so simply anymore at
> > > present. As you said, all the descriptions seem very complex to parse and
> > > figure out the exact meaning.
> >
> > Yeah. Authors of such articles seem to only touch upon construction
> > methods... What is the parabola exactly? A dense point curve or a pure
> > function?
>
> Pure function: f(y)= x^2 + z^2
>
> > > I actually had set up some simple
> > > mathematics to calculate this and display as a graph in excel at the time and it
> > > seemed to work.
> >
> > Wow, Excel uses Visual Basic, right? How did you view it? I always
> > thought Excel's VB support was crudimentary, at best.
> >
>
> No, I did it the difficult way: direct calculation of intersectiong lines then
> intersecting points, then used the general x-y graphing to display it. A lot of
> maths, that's why I only did it for a few points (3 or 4 I think it was)
>
> > > An interseting approach in POV would be to construct it directly in POV. You
> > > could take an array of each point and calculate the tangent plane for each
> > > point, then create it as a plane object. Give each plane a slightly different
> > > colour value then do a simple intersection operation and view using orthographic
> > > camera. Using direct RGB values, you could theoretically create one for up to
> > > 16,777,216 (256^3) points (could probably do higher with HDR file type). Of
> > > course this would be only valid for a 2D set, and I'm not sure how render time
> > > would be... Perhaps it's time to test this out.
> >
> > Dude, if you can do /that/, then you've made a full-POV-SDL
> > implementation of Voronoi cell computation. It may not be the fastest
> > way to go about it, but it's a step in the right direction.
>
> It is only for a 2D array... The easiest way would be to get an image based on
> it, from there it would be trying to convert that directly to a function or some
> way to evaluate directly.
>
>
> -tgq
Very simple demonstration of this concept.
-tgq
//START
camera {
orthographic
location <0, 3.5, 0>
look_at <0, 0, 0>
right x*1.2
up y*1.2
}
#declare C=0.001;//Flattens out paraboloid for viewing
#declare NumP=16;
#declare RS=seed(1);
#declare PT=array[NumP];
#for (i,0,NumP-1)//Pick random points <0,0,0>-<1,0,1>
#declare PT[i]=<rand(RS),0,rand(RS)>;
#end
union{
#for (i,0,NumP-1)
#declare xx=PT[i].x;
#declare zz=PT[i].z;
#declare V3=<-2*xx*C,1,-2*zz*C>*(pow(xx,2)+pow(zz,2))*C; //Paraboloid
surface normal at projected point
plane{V3,0 //plane oriented to normal
pigment{rgb i/NumP} //color by index
finish{ambient 0 emission 1 diffuse 0}
translate <xx,(xx*xx+zz*zz)*C,zz> // translate to projected point on
paraboloid
}
cylinder{0,y*(xx*xx+zz*zz)*C*1.1,0.01 //draw point
pigment{rgb <1,0,0>}
finish{ambient 0 emission 1 diffuse 0}
translate <xx,0,zz>
}
#end
translate <-0.5,0,-0.5>
}
//END
Post a reply to this message
Attachments:
Download 'voron.png' (17 KB)
Preview of image 'voron.png'
|
|