View previous topic :: View next topic |
Author |
Topic : "Perspective question I can't seem to answer" |
Antialias junior member
Member # Joined: 25 Jun 2002 Posts: 20 Location: Portland
|
Posted: Wed Jan 24, 2007 10:24 am |
|
 |
I understand multi point perspective, and have looked at various online tutorials and articles on perspective. What I haven't found is what to do if the planes in your drawing are rotated in such a way that they don't vanish to the horizon or to a vertical vanishing point. I created a quick little mockup to illustrate this:
In this example, segments AB GD and AG BD don't seem to conform to any obvious vanishing point. My question is basically when doing a well constructed perspective drawing, how to you deal with arbitrarily angled planes like these? All the tutorials and examples I run across always have examples with everything vertical and horizontal planes. |
|
Back to top |
|
Mikko K member
Member # Joined: 29 Apr 2003 Posts: 639
|
Posted: Wed Jan 24, 2007 3:20 pm |
|
 |
All surfaces pointing to the same direction share the same Vanishing Point. You can have a b'zillion VP's on one horizon. Each new direction that a plane is tilted means you need a new VP.
edit: Your cube doesn't work because it's off perspective  |
|
Back to top |
|
Mikko K member
Member # Joined: 29 Apr 2003 Posts: 639
|
Posted: Thu Jan 25, 2007 2:41 am |
|
 |
To clarify my previous post:
If you wish to have less distortion in your box shape, just move the vanishing points further away - far outside the canvas of your image. It will change the "lens" to be more natural and less like a fish eye view.
Think about it like this. Objects recede in size as they're further away. Linear perspecitive and vanishing points are artificial contructs since everything gets smaller to "all directions" in reality (and not just a few), so spherical perspective is more correct. To emulate this in Linear perspective you need to add new vanishing point for every different angle that the surfaces recede in.
In most cases the use of vanishing points is very convenient since it's an approximation of how things would look in reality. You should play around with 3d application such as Maya or 3DSMax to experiment how the perspective changes based on the lens width and position of your camera in the scene.
Horizon is just a representation of your "eye level". For example, if you tilt your head down, you won't see the horizon but it's still there, outside your field of view. You can still have vanishing points on the horizon as well. Just draw the lines from outside your image frame.
Hope this helps a bit. |
|
Back to top |
|
Antialias junior member
Member # Joined: 25 Jun 2002 Posts: 20 Location: Portland
|
Posted: Thu Jan 25, 2007 10:59 am |
|
 |
Thanks for the response. I realized that each surface will have a vanishing point. I guess my main confusion comes from the vanishing points that don't sit on the horizon. For example, lets say I had an image with a number of cubes, all in different rotations/directions floating in space. Is there any technique for constructing the correct vanishing points that don't sit on the horizon(of course there must be since 3d programs do it), or do most artists just place these vanishing points by "eye balling" it? |
|
Back to top |
|
Sumaleth Administrator
Member # Joined: 30 Oct 1999 Posts: 2898 Location: Australia
|
Posted: Thu Jan 25, 2007 3:32 pm |
|
 |
It's a question that's come up before (along with "what if you have two cubes on the ground with different rotations"), and I don't think we ever found a formula for it. Though there probably is if you're good with maths.
An approach I've used a couple of times is to imagine that all the cubes are inside larger cubes that are all rotated the same way. So you draw all those cubes to the same VPS and horizon line, and then construct the rotated cubes inside these construction cubes. It doesn't work in all circumstances, but if it's just a couple of cubes then it can work. _________________ Art Links Archive -- Artists and Tutorials |
|
Back to top |
|
Francis member
Member # Joined: 18 Mar 2000 Posts: 1155 Location: San Diego, CA
|
Posted: Thu Jan 25, 2007 9:06 pm |
|
 |
The cube that's sitting on the ground vanishes to points on the horizon line because it is parallel to the ground. The cube up in the air has no planes parallel to the ground - "its" horizon line would appear to be a slanted line to us. If you continue lines AG and BD, they will converge at the left side vanishing point of the cube. Extending line GE and DE will establish the right side vanishing point, and connecting those two points gives you the horizon line for that cube. That new horizon line will look slanted to us.
Clear as mud right? _________________ Francis Tsai
TeamGT Studios |
|
Back to top |
|
Sumaleth Administrator
Member # Joined: 30 Oct 1999 Posts: 2898 Location: Australia
|
Posted: Thu Jan 25, 2007 9:16 pm |
|
 |
I think he's looking for a way to calculate where those new VPs will be in relation to ones on the ground.
I think the problem is that the horizon line in these drawings is really only an approximation of what would really be a circle around the observer, and so the distance between the VPs changes depending on the rotation of the cube. So it's difficult to locate another horizon line and set of VPs that will be in the same "space" without just eyeballing it.
But given that it's all just an approximation anyway, eyeballing should get you close enough. _________________ Art Links Archive -- Artists and Tutorials |
|
Back to top |
|
Ian Jones member
Member # Joined: 01 Oct 2001 Posts: 1114 Location: Brisbane, QLD, Australia.
|
Posted: Thu Jan 25, 2007 10:18 pm |
|
 |
If you like, you can say that the closer the vanishing point is the wider the field of view... just like a camera. This means more distorted forms close to the viewer. Choosing a position of the vanishing point affects the filed of view.
One technique you can use to help approximate is to draw a guide box which is parallel with your existing ground plane and horizon and use this as a template to measure off and create a slanted box inside this guide. |
|
Back to top |
|
Mikko K member
Member # Joined: 29 Apr 2003 Posts: 639
|
Posted: Fri Jan 26, 2007 2:38 am |
|
 |
Sorry I thought you were actually dealing with something a bit "simpler" here
I would just use a 3d app to solve this kind of problem, there's no point spending ages trying to come up with a formula  |
|
Back to top |
|
Jabo member
Member # Joined: 25 Jul 2002 Posts: 467 Location: Germany
|
Posted: Fri Jan 26, 2007 6:55 am |
|
 |
Sorry for kidnapping this, but can someone tell me how you draw the VPs outside of the frame? Some have to be waaaay right or left of the picture. Guessing? |
|
Back to top |
|
Mikko K member
Member # Joined: 29 Apr 2003 Posts: 639
|
Posted: Fri Jan 26, 2007 7:04 am |
|
 |
by extending the canvas
One option I've done is to do a crazy large canvas, and put in a lot of lines to the VP's and then crop the canvas to a smaller size. Then you have dozens of lines for reference and you can do some of the inbetweens by eyeballing.
I usually go for 3d though. |
|
Back to top |
|
iandredd member
Member # Joined: 04 Jul 2002 Posts: 178
|
Posted: Fri Jan 26, 2007 7:28 am |
|
 |
I use paths because you can drag out points further than the canvas, you can have one point at the VP and drag the other where you like and you can always stroke the path if you need to. |
|
Back to top |
|
digitaldecoy member
Member # Joined: 08 Nov 2002 Posts: 118 Location: germany
|
Posted: Fri Jan 26, 2007 11:33 am |
|
 |
For me, the most convenient technique to produce off-screen vanishing points is to draw some lines radiating from a single point onto a seperate layer and then stretch it as big as I want. The center from which the lines radiate can go off screen since the transform tool works outside the canvas, too. That leaves some straight lines on the canvas, radiating from a offscreen point. If you use two of these layers, you have 2-point-perspective and if you use three - you guess it - you have 3-point-perspective. You can adjust the lens distortion by stretching the layers afterwards since the information outside the canvas is still there. _________________ �Que la fuerza te acompa�e! |
|
Back to top |
|
YVerloc member
Member # Joined: 07 Jun 2002 Posts: 84 Location: Vancouver
|
Posted: Tue Jan 30, 2007 6:39 am |
|
 |
Alright, I'll go ahead and post the math. A few months ago, I really needed to figure this stuff out, so I did my homework. Not many of you will find this useful - most of you will be fine just guesstimating this stuff. But for those of you who want to get a more precise handle on vanishing point hijinks, then read on. The math is easy, but the freamework of ideas required to do the math is not. I'll do my best to explain:
Let's say you're happily drawing away. You've built a simple perspective framework by laying down a horizon line and plunking a couple of vanishing points on it. So far so good, until you want to add a new box (for example) to your scene that is off-axis.
To do this, you'll need to place two new vanishing points in your scene that are aligned to the faces of your new box. Go ahead and put the first one wherever you want. The big problem is...where do you put the second vanishing point?
The answer depends on the Field Of View you are using for your scene. If you've done any photography, you may already know the difference between a wide angle lens and a telephoto lens. If we measure the Field Of View (FOV) in degrees, then the bigger the number, the more of the hoizon we can see in the picture. For the sake of simplicity, I only use a horizontal FOV measurement, that simply represents the span of horizon contained in the picture. The whole horizon would be 360 degrees wide. A telephoto lens might have a FOV of about 20 degrees or less. A fisheye lens might have a FOV of 70 degrees or more. the key idea is this: all other things being equal, the bigger your FOV, the closer together your vanishing point are. If you just guesstimate where to put that second new vanishing point, chances are that your new off-axis box will have a different FOV than the rest of the scene, and look wonky. How to overcome this?
In order to place our second new vanishing point, we must do two steps:
a) We must figure out what FOV we were using for our original perspecitve framework.
b) Using this FOV information, we must calculate the position for our second new vanishing point.
Step A)
The number we're going to extract is not actually the FOV, it's a measure called the Viewing Distance. We can use the Viewing Distance to calculate the FOV is we need to, but to finish step B, we don't need to so we won't. The Viewing Distance is a measurement of how far a point called the View Pont is from the center of the picture. Imagine an arrow sticking out of the center of the canvas. The length of this arrow is the Viewing Distance when you are viewing the canvas with your eye at the arrow nock.
In order to calculate the Viewing Distance, we need to extract two measurements from our scene. Distance A is the distance between the center of the picture and the left vanishing point. Distance B is the distance between the center of the picture and the right vanishing point. These distances are the horizontal distances, as measured from a vertical line that divides the picture in two. I measure these distances in pixels, but you can measure them using whatever units you want.
The equation to calculate the Viewing Distance is ridiculously simple. The viewing distance is X
x^2 = A*B
So it follows that the viewing distance of your original perspective framework is: the square root of (the product of the two vanishing point distances).
That's it.
Step B)
Since you've already placed one of your new vanishing points, and you just calculated the Viewing Distance, then simple algebra will let you calculate the horizonatal distance to your second new vanishing point.
If A is the distance to your first new vanishing point, and B is the distance you want to find:
B = (x^2)/A
Again... that's it. The math is really dead simple.
Now you can go ahead and place that second new vanishing point, for your new off-axis box - and you will be assured that it's correctly place with respect to your original perspective scheme.
You need to go through this process again for the vertical distances if your new vanishing points don't lie on the horizon.
Advanced stuff:
In the scenario above, I'm assuming that what you need to know is just where to place an unknown vanishing point. Some of you might wish to do more advanced stuff - like plan the FOV for the picture in advance, and place the original pair of vanishing points accordingly.
If you wish to do this, then I provide you with the following slightly less simple equations:
tan(FOV/2) = (image width / 2) / viewing distance
FOV/2 = arctan ( (image width / 2) / viewing distance) ) in radians
If you can understand how to use these equations, then you're good to go. Unfortunately, it's beyond my time budget and my explanatory powers to explain these in a simple manner.
If you know more than I do and find any errors in my explanations, please do suggest the neccessary corrections.
Good luck! |
|
Back to top |
|
Novacaptain member
Member # Joined: 09 Jan 2001 Posts: 906 Location: Sweden
|
Posted: Tue Jan 30, 2007 11:51 am |
|
 |
YVerloc:
Based on your explanation i made the following animation to help myself understand and to serve as a guide for the others. Is this what you meant?
For those who hadn't found it yet...the measuring tool is hidden in the same toolbutton as the eyedropper tool. The measurements are made in the same unit as your rulers are set to. _________________ It's nice to be important, but more important to be nice - Scooter |
|
Back to top |
|
Sumaleth Administrator
Member # Joined: 30 Oct 1999 Posts: 2898 Location: Australia
|
|
Back to top |
|
Tinusch member
Member # Joined: 25 Dec 1999 Posts: 2757 Location: Rhode Island, USA
|
Posted: Wed Jan 31, 2007 1:28 pm |
|
 |
 |
|
Back to top |
|
Ian Jones member
Member # Joined: 01 Oct 2001 Posts: 1114 Location: Brisbane, QLD, Australia.
|
Posted: Wed Jan 31, 2007 4:42 pm |
|
 |
I'm with Tinusch on this one... lol |
|
Back to top |
|
neff member
Member # Joined: 11 May 2002 Posts: 1444 Location: Germany
|
Posted: Wed Jan 31, 2007 6:32 pm |
|
 |
yeahhh...
a cookie anyone? _________________ *
 |
|
Back to top |
|
|