POV-Ray : Newsgroups : povray.programming : POV-Ray v.4 proposal : POV-Ray v.4 proposal Server Time
28 Jul 2024 22:21:08 EDT (-0400)
  POV-Ray v.4 proposal  
From: Mikael Carneholm
Date: 12 May 1999 16:41:17
Message: <3739D8B7.5DFF1B9A@ida.utb.hb.se>
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.

syntax is POINT{[POINT IDENTIFIER][POINT LOCATION]}

..where the point identifier is used to name the object for future
reference.

"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
}

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=point2.location;
#include "SmokeGen.inc"

--

#declare obj_pos=point8.location;
#include "SmokeGen.inc"

This way, you don't have to deal with math(which I believe keeps some
users from using POV today).

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?

- Mikael.

-----------------------------------------------------------------
Mikael Carneholm
Dep. of Computer Science


http://www.studenter.hb.se/~arch
E-mail: sa9### [at] idautbhbse


Post a reply to this message


Attachments:
Download 'us-ascii' (1 KB)

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