|
|
Mikael Carneholm wrote:
>
> One thing I've been thinking of that could make some things easier (for
> beginners as well as for advanced users) is a new object type: a point
> object.
>
First of all, a point is a 0-dimension object...
I guess you would then ask for a line (straight)
and then some more complicated lines (bezier in a plane, total free in
3d space)
That would give some 1-dimension object.
And the fractal gurus will come and ask some 1.65-dimensions fractals
up to the dreaded true 2-dimension plane object... (not the pov plane)
And then a sponge primitive
> syntax is POINT{[POINT IDENTIFIER][POINT LOCATION]}
>
> ..where the point identifier is used to name the object for future
> reference.
Your point looks like a vector.
#declare POINT_IDENTIFIER = POINT_LOCATION;
>
> "Why?" some might say - well here's an example:
>
> I made a demo scene for my smoke generation macro, consisting of a
> rotating cube with 8 smoke sources (one in each corner). This is how it
> could have been done (if there was such an object):
>
> union{
> RoundedCubeObject
> point{point1,<1,1,1>}
> point{point2,<1,1,-1>}
> point{point3,<-1,1,-1>}
> point{point4,<-1,1,1>}
> point{point5,<1,-1,1>}
> point{point6,<1,-1,-1>}
> point{point7,<-1,-1,-1>}
> point{point8,<-1,-1,1>}
> rotate <clock*360,clock*360,clock*360> // affects the point objects as
> well
> }
Well, you did have a look at vrotate (Vector Functions)
#declare point1=<1,1,1>;
#declare point2=<1,1,-1>;
and so on...
> With a little OO thrown in, it would then be possible to do this:
>
> #declare obj_pos=point1.location;
> #include "SmokeGen.inc"
>
#declare obj_pos = vrotate (point1, <clock*360,clock*360,clock*360> );
#include ...
>
> This way, you don't have to deal with math(which I believe keeps some
> users from using POV today).
Well, you actually do not have to deal with math,
you have to read the manual :-)
(and that's something hard! the manual is quiet big to remember
everything )
>
> Instead, I had to make a vector array where the vectors are redeclared
> using a rotation identifier and also use vrotate() (which I don't mind
> using but beginners might have a hard time using). Quite messy.
>
> Comments?
Why a vector array in your case ?
I sincerely does not feel the need for an object that you cannot see...
and the vector is already present.
Post a reply to this message
|
|