- #1
navand
- 2
- 0
Template? mmk...
1. Problem... (with intro)
Let's start with a camera. We know that a camera uses a lens to refract incoming light into parallel rays that travel to the sensor (or film). Like so:
[PLAIN]http://a.imageshack.us/img508/2370/camerau.png The problem I'm going to ask about revolves around refracting light with a lens to get a desired distortion of an object.
...
Imagine a satellite orbiting a planet. As the satellite moves, it looks straight down and takes an image of the surface. If you stitch together all the images the satellite takes you'll be left with a map without perspective distortion. A sort of unwrapped texture of the planet.
Now let's go back to our camera. Let's imagine I strip it down of it's parts and take just the sensor. Let's also imagine that I set up a half-sphere in front of the sensor. I want to create a lens that will allow me to see the half-sphere in such way as the stitched satellite image would look. Evey pixel taken from above, without perspective.
To do this, I first identify the light rays I want to get to my sensor. In any given point of my sphere, the ray of interest is the one that coincides with the point's normal, like so:
[PLAIN]http://a.imageshack.us/img836/8285/lightrays.png Now that I know my rays, I create a lens that refracts them into a parallel position. I thought about a concave half-sphere on a side and a smooth plane on the other. This seems to be right when I render a raytrace on a 3d modelling program. I have no idea what the right index of refraction the lens should have for this to work right. Diagram as follows:
[PLAIN]http://a.imageshack.us/img507/6536/refraction.png This works right in the 3d program and all, except for one thing. While all the pixels in my image are "taken from above", the image is still distorted. The parts closer to the half-sphere's edges are smaller than those at the center. This happens because, as you can see in the diagram, the separation of the rays is uneven. The rays are separated like points along a sine wave are separated in the X dimension.
I need to refract the light rays one more time to make my rays equidistant. Sadly, this is where my physics intuition starts failing. I was never too good at physics anyway, and I didn't pay attention at school.
I need help about 2 things:
- determine the right shape (in 2d) of the second refraction object that will make the right distortion (feel free to merge both refractive objects into a single one if you want to).
- as an added help, tell me what the right Index of Refraction my original lens should have had. I had been playing with the refraction index variable in my 3d program until it seemed to look right.
Also, mind that this isn't a homework or anything like that. Just part of a personal project, that right now is in the stage of extracting planar textures from 3d spheres on which photos of a basketball have been projected.
Lastly, one more image to better explain the core problem:
[PLAIN]http://a.imageshack.us/img412/2653/problemfm.png Sorry for not using the template right...
1. Problem... (with intro)
Let's start with a camera. We know that a camera uses a lens to refract incoming light into parallel rays that travel to the sensor (or film). Like so:
[PLAIN]http://a.imageshack.us/img508/2370/camerau.png The problem I'm going to ask about revolves around refracting light with a lens to get a desired distortion of an object.
...
Imagine a satellite orbiting a planet. As the satellite moves, it looks straight down and takes an image of the surface. If you stitch together all the images the satellite takes you'll be left with a map without perspective distortion. A sort of unwrapped texture of the planet.
Now let's go back to our camera. Let's imagine I strip it down of it's parts and take just the sensor. Let's also imagine that I set up a half-sphere in front of the sensor. I want to create a lens that will allow me to see the half-sphere in such way as the stitched satellite image would look. Evey pixel taken from above, without perspective.
To do this, I first identify the light rays I want to get to my sensor. In any given point of my sphere, the ray of interest is the one that coincides with the point's normal, like so:
[PLAIN]http://a.imageshack.us/img836/8285/lightrays.png Now that I know my rays, I create a lens that refracts them into a parallel position. I thought about a concave half-sphere on a side and a smooth plane on the other. This seems to be right when I render a raytrace on a 3d modelling program. I have no idea what the right index of refraction the lens should have for this to work right. Diagram as follows:
[PLAIN]http://a.imageshack.us/img507/6536/refraction.png This works right in the 3d program and all, except for one thing. While all the pixels in my image are "taken from above", the image is still distorted. The parts closer to the half-sphere's edges are smaller than those at the center. This happens because, as you can see in the diagram, the separation of the rays is uneven. The rays are separated like points along a sine wave are separated in the X dimension.
I need to refract the light rays one more time to make my rays equidistant. Sadly, this is where my physics intuition starts failing. I was never too good at physics anyway, and I didn't pay attention at school.
I need help about 2 things:
- determine the right shape (in 2d) of the second refraction object that will make the right distortion (feel free to merge both refractive objects into a single one if you want to).
- as an added help, tell me what the right Index of Refraction my original lens should have had. I had been playing with the refraction index variable in my 3d program until it seemed to look right.
Also, mind that this isn't a homework or anything like that. Just part of a personal project, that right now is in the stage of extracting planar textures from 3d spheres on which photos of a basketball have been projected.
Lastly, one more image to better explain the core problem:
[PLAIN]http://a.imageshack.us/img412/2653/problemfm.png Sorry for not using the template right...
Last edited by a moderator: