|
![](/i/fill.gif) |
amjad <amj### [at] okstate edu> wrote:
> When we have the camera place at <0,0,-z> looking at <0,0,0> with a simple
> object in sight; say a square of length 3 units and centered at <1,1,10>
> and we do a simple rotation i.e. around X-axis, the simple rotation matrix
> given by [1 0 0;0 cos -sin;0 sin cos] indicates that all x coordinate will
> stay the same! But in reality, a parallel vertical lines will converge to a
> point far away, thus the x-coordinates are changing as well as the
> y-coordinate. This affine Matrix can?t capture this, and parallel line will
> stay parallel. Is there a way to represent this perspective rotation in a
> single matrix?
I don't understand what you are thinking about the transformation
matrix.
The transformation matrix you give above will indeed not change
the x-coordinates of the object being transformed, but it will
naturally change its y and z coordinates. Since the z-coordinates
are being modified, some of the points will end up closer to the
camera (which was located at -z*10) than originally, and other
points will end up being farther than originally. Thus the
perspective will naturally affect vertical lines.
This is exactly what rotating around the X axis does.
The same applies if you are transforming the camera: By rotating the
camera you will basically just be changing its location and orientation.
A simple rotation of the camera does not affect perspective.
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |