POV-Ray : Newsgroups : povray.newusers : User-defined vector functions : Re: User-defined vector functions Server Time
28 Jul 2024 20:25:28 EDT (-0400)
  Re: User-defined vector functions  
From: Mathuin
Date: 8 Oct 2008 14:20:00
Message: <web.48ecf92117cb998c401d7400@news.povray.org>
"Trevor G Quayle" <Tin### [at] hotmailcom> wrote:
> "Mathuin" <mat### [at] gmailcom> wrote:
> > I used to think I knew more about POV-Ray than I apparently do.  Either that, or
> > this new project is introducing me to new corners of SDL and other interesting
> > things.
> >
> > I find myself making sets of user-defined float functions because I can't figure
> > out how to make a user-defined vector function.  I end up with stuff like this:
> >
> > #declare LocX = function(x) { x + 1 }
> > #declare LocY = function(y) { y * 2 }
> > #declare LocZ = function(z) { z / 3 }
> >
> > I'd *much* rather have this:
> >
> > #declare LocXYZ = function(x, y, z) { <x + 1, y * 2, z / 3> }
> >
> > Any chance there's an easy way to do this?  Will I have to use a macro?
>
> A macro is best suited for this:
>
> #macro LocXYZ (x0,y0,z0)
>   #local x1=x0+1;
>   #local y1=y0*2;
>   #local z1=z0/3;
>   <x1,y1,z1>
> #end
>
> evaluate using:
>
> #declare A=LocXYZ(1,2,3);

This is pretty much what I ended up doing, for what it's worth.  Thank you for
doing what I forgot to do -- provide a useful answer for those who come to the
forums later trying to avoid asking the same questions I asked.

>
>
> -tgq


Post a reply to this message

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