![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
The pov file was saved in a different directory.
Brendan Ryan
Buckaroo Bill wrote:
> Is it saved in a different directory? and is your macro file in the include
> file and is the include file in your include path?
>
> Andrea Ryan <ary### [at] global2000 net> wrote in message
> news:3802395C.D6E626C4@global2000.net...
> > I have two pov files with the same contents and they both include the
> > include file that has the star macro. I can render a image with one of
> > the files but with the other file, I can't render a image. Both files
> > have the line
> > starbl (0,0,0,1,1,1,0,1,5,4)
> > "starbl" is the macro's name but it says that 'starbl' is an undeclared
> > identifier.
> > Thanks.
> > Brendan Ryan
> >
> > Andrea Ryan wrote:
> >
> > > Is it a good idea to make stars by using CSG or should they be solid
> > > blocks?
> > > Brendan Ryan
> >
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Andrea Ryan <ary### [at] global2000 net> wrote in message
news:38024D60.2ADD189B@global2000.net...
> The pov file was saved in a different directory.
> Brendan Ryan
>
Then move a copy of the macro include file to that same directory, or
place the file in your include path.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Brendan Ryan <ary### [at] global2000 net> wrote:
> I tried to divide every other vector by ptmove but it didn't work. This
code
> rotates and moves the odd numbered points and just rotates the even
numbered
> points. The code is in a while loop. Rotation_no and point_no both get
added
> to one at the end.
> Brendan Ryan
>
> #local determine = (point_no/2)-int(point_no/2);
> #switch (determine)
> #case (0.5) file://odd numbered point
> #local vec =vrotate(<0,1,0>,<0,0,(angle_of_rotation*rotation_no)>/ptmove);
> #break
> #case (0) file://even numbered point
> #local vec=vrotate(<0,1,0>,<0,0,angle_of_rotation*rotation_no>);
> #break
> #end
As Kevin pointed out, what you've divided is the rotation angle, so every
second point will be *rotated* half as much as it should be (still at the
same radius), rather than scaled. Also, the switch you've used is not
necessary, as you can actually use a counter variable that increments in
steps other than 1, eg:
#macro star_prism (Sides, StarFactor, Height1, Height2)
#local RotAngle = 360/Sides;
prism {linear_sweep linear_spline Height1, Height2, Sides+1, x,
#local Count = 0.5; #while (Count < Sides)
vrotate (x/StarFactor, y*RotAngle*Count),
#local Count = Count + 0.5;
vrotate (x, y*RotAngle*Count),
#local Count = Count + 0.5; #end
x}
#end
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Chris Colefax wrote:
>
> As Kevin pointed out, what you've divided is the rotation angle, so every
> second point will be *rotated* half as much as it should be (still at the
> same radius), rather than scaled. Also, the switch you've used is not
> necessary, as you can actually use a counter variable that increments in
> steps other than 1, eg:
>
> #macro star_prism (Sides, StarFactor, Height1, Height2)
> #local RotAngle = 360/Sides;
> prism {linear_sweep linear_spline Height1, Height2, Sides+1, x,
> #local Count = 0.5; #while (Count < Sides)
> vrotate (x/StarFactor, y*RotAngle*Count),
> #local Count = Count + 0.5;
> vrotate (x, y*RotAngle*Count),
> #local Count = Count + 0.5; #end
> x}
> #end
Actually, you could even use directly the angle as a counter, which
should be faster (no multiplication):
#macro star_prism (Sides, StarFactor, Height1, Height2)
#local RotAngle = 180/Sides;
#local EndAngle = 360-RotAngle/2; // to avoid rounding problems
prism {
linear_sweep linear_spline Height1, Height2, Sides+1, x,
#local Angle = 0;
#while (Angle < EndAngle)
vrotate (<1/StarFactor, 0, 0>, <0, Angle, 0>),
#local Angle = Angle + RotAngle;
vrotate (x, <0, Angle, 0>),
#local Count = Angle + RotAngle;
#end
x
}
#end
Jerome
--
*******************************
* they'll tell you what can't * mailto:ber### [at] iname com
* be done and why... * http://www.enst.fr/~jberger
* Then do it. *
*******************************
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I just replaced the #switch statement with a #if statement and changed a few
other things like how the rotation angle is defined. POV-Ray was complaining
about the commas at the end of the vrotate functions in the macros below this
message.
Brendan Ryan
"Jerome M. BERGER" wrote:
> Chris Colefax wrote:
> >
> > As Kevin pointed out, what you've divided is the rotation angle, so every
> > second point will be *rotated* half as much as it should be (still at the
> > same radius), rather than scaled. Also, the switch you've used is not
> > necessary, as you can actually use a counter variable that increments in
> > steps other than 1, eg:
> >
> > #macro star_prism (Sides, StarFactor, Height1, Height2)
> > #local RotAngle = 360/Sides;
> > prism {linear_sweep linear_spline Height1, Height2, Sides+1, x,
> > #local Count = 0.5; #while (Count < Sides)
> > vrotate (x/StarFactor, y*RotAngle*Count),
> > #local Count = Count + 0.5;
> > vrotate (x, y*RotAngle*Count),
> > #local Count = Count + 0.5; #end
> > x}
> > #end
> Actually, you could even use directly the angle as a counter, which
> should be faster (no multiplication):
>
> #macro star_prism (Sides, StarFactor, Height1, Height2)
> #local RotAngle = 180/Sides;
> #local EndAngle = 360-RotAngle/2; // to avoid rounding problems
> prism {
> linear_sweep linear_spline Height1, Height2, Sides+1, x,
> #local Angle = 0;
> #while (Angle < EndAngle)
> vrotate (<1/StarFactor, 0, 0>, <0, Angle, 0>),
> #local Angle = Angle + RotAngle;
> vrotate (x, <0, Angle, 0>),
> #local Count = Angle + RotAngle;
> #end
> x
> }
> #end
>
> Jerome
>
> --
> *******************************
> * they'll tell you what can't * mailto:ber### [at] iname com
> * be done and why... * http://www.enst.fr/~jberger
> * Then do it. *
> *******************************
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |