POV-Ray : Newsgroups : povray.general : A newbie request : Re: A newbie request Server Time
3 Jul 2024 01:56:30 EDT (-0400)
  Re: A newbie request  
From: Alain
Date: 8 Dec 2015 15:02:25
Message: <56673751@news.povray.org>



>
> I would appreciate a simple walk-thru on how to do this. I have a good quality
> bitmapped file which I wish to project onto a plane, so that a cylindrical
> mirror (at right angles) will view it correctly view it. I would appreciate any
> setup assistance. This is for a wedding present for my step-daughter and her new
> husband, to see a reflection of a piece of calligraphy which they cherish. I
> would like a setup so that I can input my image, vary the angle of view, and
> render the projection.
>
> I am using the current Windows version of Pov-Ray on Windows 7 Pro, but am quite
> used to command-line operation of programs.
>
> Thanks in advance for any assistance!
>
> Bill
>
>
>
>

When you place an image, it's 1 unit whide and tall in the x-y place 
extending infinitely along the z axis. You need to scale it to your 
need. If the image is not square, your scaling must take that into 
account. If the image have a 4:3 aspect ratio, the scalling can be 
something like scale<1, 3/4> or scale<4/3, 1> or scale<4,3>,...
Normaly, it repeat itself verticaly and across to cover the whole plane. 
Unsing the once keyword limit it to a single instance.

Start with a simple plane: plane{-z,0}
Add your image this way:
pigment{image_map{bmp Your image}scale 10 once}
Your image now reside with one corner at 0,0 spaning 10 units up and to 
the right.

Assuming that the area for the mirror is in the middle top side:
cylinder{<5,10,0><5,10,-20>, Radius_Of_The_Mirror
	texture{
		pigment{rgb 0}
		finish{ambient 0 diffuse 0 reflection 1}
	}
}
If the place for the mirror is elsewhere, you need to place the cylinder 
in that location.
Another possible location is in the middle of the image, so, at 5,5 in 
this case.

It now look like:
union{
  plane{-z,0
   pigment{image_map{bmp Your image}scale 10 once} finish{emission 1 
ambient 0 diffuse 0}
   }
  cylinder{<5,10,0><5,10,-20>, Radius_Of_The_Mirror
   texture{
    pigment{rgb 0}
    finish{ambient 0 diffuse 0 reflection 1}
    }
   }
rotate 90*x
}

The rotate makes the plane horizontal.
Now, you only need to place the camera. Something like:
camera{location<5, -20, 5 look_at<5, 0, 10>}
The camera should look at the base of the mirror or some place along it.

The area outside the image will be black.
This example don't use any light but use a light emiting finish to make 
things visible.


Alain


Post a reply to this message

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