POV-Ray : Newsgroups : povray.unofficial.patches : Inverse Transformations patch : Re: Inverse Transformations patch Server Time
2 Sep 2024 06:19:32 EDT (-0400)
  Re: Inverse Transformations patch  
From: Chris Huff
Date: 25 Apr 2000 12:03:49
Message: <chrishuff_99-2E8B51.11064625042000@news.povray.org>
In article <3905aa7f@news.povray.org>, Warp <war### [at] tagpovrayorg> 
wrote:

>   There's another problem. What about this:
> 
> box
> { <1,2,3>, <4,5,6>
>   rotate x*30
>   texture { Whatever }
>   rotate y*45
> }
> 
>   What will be the transformation got out of that?

transform {rotate x*30 rotate y*45}
There is only one transform struct per object, all transforms are added 
into it. The transform struct contains two matrices, this is what made 
implementing "inverse" so easy.


>   In povray this kind of labeling would just be a shortcut for first
> #declaring the thing and then creating an instance of it. It would just
> do both things at once.
>   Then perhaps you could do something like (not necessarily with this 
>   syntax):
> 
> box \label{MyBox}
> { <1,2,3>, <4,5,6>
>   transform \label{MyBoxTrans}
>   { rotate x*30
>   }
> }
> 
> object { MyBox transform { MyBoxTrans inverse } }
> 
>   This would create two boxes. The first with transformations and the 
> second without.

Maybe an "identifier" keyword could be added to everything that can be 
defined, something like this:
object {...
    identifier local LocalObject
    texture {...
        identifier global GlobalTex
    }
}

While I think all #declare and #local statements should at least allow a 
semicolon ending, I don't think one should be used here. It would be 
inconsistent with the other flags/settings.
While something like this might be handy, I don't think it is really 
necessary.

-- 
Christopher James Huff - Personal e-mail: chr### [at] yahoocom
TAG(Technical Assistance Group) e-mail: chr### [at] tagpovrayorg
Personal Web page: http://chrishuff.dhs.org/
TAG Web page: http://tag.povray.org/


Post a reply to this message

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