POV-Ray : Newsgroups : povray.general : Wireframe Modeler Emulator : Re: Wireframe Modeler Emulator Server Time
7 Aug 2024 19:24:44 EDT (-0400)
  Re: Wireframe Modeler Emulator  
From: Bob H 
Date: 2 Jul 2001 15:10:22
Message: <3b40c71e@news.povray.org>
"Dave Dunn" <poi### [at] aolcom> wrote in message news:3B40A24C.1CEE02C9@aol.com...
> Hello everyone. I am currently working on a wireframe modeler emulator
> that runs as a set of includes within MegaPOV (I tried doing it with
> macros, but frankly, I think includes give you better access to
> variables and declarations). The main POV file lets you choose between
> five views: Front, Top, Side, Wireframe Camera, and Render. I just
> started working on it, so it only handles the main primitives as
> wireframes for now (although any object will show up in the gridded
> enviornment). So far, so good. My problem is that I am trying to find a
> way to rotate my wireframe camera object so that it faces the look_at
> point. I know it is something simple, but I just can't figure it out.

~~~ to Dave.  Hi Dave.
Saw your e-mail and I went looking but I couldn't find the original file, only one I
used such a
thing in.  I'm fairly certain it was done by Lewis Sellers and put somewhere like
povray.text.scene-files or the binaries group.
Here it is:

// Lewis Sellers' constant object in camera view script

#declare Text_texture = texture {pigment {rgb <.3,1,.9>*.8}
finish {ambient .9 diffuse .1}}

 #local CamE = <0,0,0>; //where the camera's look_at is
 #local CamL = <0,0,-50>; //where the camera's location is
 #local CamZ = 1.67; //the amount of camera zoom you want

 #local CamD = vnormalize(CamE-CamL);
 #local CamR = vnormalize(vcross(y,CamD));
 #local CamU = vnormalize(vcross(CamD,CamR));

 text { ttf "cyrvetic.ttf","TEST Text",.25,0
   texture { Text_texture }
   scale .15 // added?
   translate <-.45,-.06,CamZ>  // added, changed?
   matrix < CamR.x,CamR.y,CamR.z,
            CamU.x,CamU.y,CamU.z,
            CamD.x,CamD.y,CamD.z,
            CamL.x,CamL.y,CamL.z >
 }

 camera {
   location CamL
   up CamU*.25 // changed?
   right CamR*4/3*1 // ?
   direction CamD*CamZ
   look_at CamE
 }

No doubt this has been muddled a bit by me but I think it's still basically the same
as originally
was.  And it should be what you're asking about, works in a way that sounds like your
description.
Far as being "simple", I'll leave that up to you to judge.

Bob H.


Post a reply to this message

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