Ans 1: Answer in the image.
Ans 2: Synthetic Camera Model-
- In Computer Graphics, we use a synthetic camera model to mimic
the behaviour of real camera.
- In this model, we avoid the inversion by placing the film
plane, called the projection plane, in front of the lens.
- The clipping rectangle or clipping window determines the size
of the image.
Synthetic camera model vs natural viewing
system(eye)-
- Absolute versus subjective measuring of light:
Simply speaking, the human eye is a subjective device.
This means that your eyes work in harmony with your brain to create
the images you perceive: Your eyes are adjusting the focus (by
bending the light through the lens in your eyeballs) and
translating photons (light) into an electrical impulse your brain
can process. From there onwards, it’s all about your brain: It is
continuously readjusting its colour balance according to the
lighting context. In other words, our eyes know what must be seen
as red or white or black etc.
- A camera, on the other hand, is an absolute measurement
device — It is measuring the light that hits a series of
sensor, but the sensor is ‘dumb’, and the signals recorded need to
be adjusted to suit the color temperature of the light illuminating
the scene, for example
-
Lens focus: In camera, the lens moves
closer/further from the film to focus. In your eyes, the lens
changes shape to focus: The muscles in your eyes change the actual
shape of the lens inside your eyes.
-
Sensitivity to light: A film in a camera is
uniformly sensitive to light. The human retina is not. Therefore,
with respect to quality of image and capturing power, our eyes have
a greater sensitivity in dark locations than a typical camera.
There are lighting situations that a current digital cameras
cannot capture easily: The photos will come out blurry, or in a
barrage of digital noise. As an example, when observing a
fluorescence image of cells under a microscope, the image you can
see with your eyes would be nigh-on impossible to capture for an
ordinary camera. This is mainly because of the fact that the amount
of light entering the camera (and your eyes) is so low.
Ans 3: Answer in the image.
Ans 4: Object Space or Local
space
Local space is the coordinate space that is local to your
object, i.e. where your object begins in. Imagine that you've
created your cube in a modeling software package (like Blender).
The origin of your cube is probably at (0,0,0)
even
though your cube might end up at a different location in your final
application. Probably all the models you've created all have
(0,0,0)
as their initial position. All the vertices of
your model are therefore in local space: they are all
local to your object.
The vertices of the container we've been using were specified as
coordinates between -0.5
and 0.5
with
0.0
as its origin. These are local coordinates.
Ans 5: World space
If we would import all our objects directly in the application
they would probably all be somewhere positioned inside each other
at the world's origin of (0,0,0)
which is not what we
want. We want to define a position for each object to position them
inside a larger world. The coordinates in world space are exactly
what they sound like: the coordinates of all your vertices relative
to a (game) world. This is the coordinate space where you want your
objects transformed to in such a way that they're all scattered
around the place (preferably in a realistic fashion). The
coordinates of your object are transformed from local to world
space; this is accomplished with the model matrix.
Ans 6: Answer in image.
Ans 7: (Further adding to Ans 5)
: The model matrix is a transformation matrix that
translates, scales and/or rotates your object to place it in the
world at a location/orientation they belong to. Think of it as
transforming a house by scaling it down (it was a bit too large in
local space), translating it to a suburbia town and rotating it a
bit to the left on the y-axis so that it neatly fits with the
neighboring houses. You could think of the matrix in the previous
chapter to position the container all over the scene as a sort of
model matrix as well; we transformed the local coordinates of the
container to some different place in the scene/world.
Ans 8: Projection & it's types: It is the
process of converting a 3D object into a 2D object. It is also
defined as mapping or transformation of the object in projection
plane or view plane. The view plane is displayed surface.
(Types in the image).
Ans 9: Orthographic vs
Perspective Projection:
Orthographic projections are parallel projections. Each line that
is originally parallel will be parallel after this transformation.
The orthographic projection can be represented by a affine
transformation.
In contrast a perspective projection is not a parallel
projection and originally parallel lines will no longer be parallel
after this operation. Thus perspective projection can not be done
by a affine transform.
Ans 10: Look-At
The idea of the method is simple. In order to set a camera position
and orientation, all you really need is a point to set the camera
position in space which we will refer to as the
from point, and a point that defines what the
camera is looking at. We will refer to this point as the
to point.
The Graphics Rendering Pipeline • Rendering is the conversion of a scene into an image: Render 3D Scene 2D Image • The scene composed of models in three space. Models, composed of primitives, supported by the rendering system. • Models entered by hand or created by a program. For our purposes today, models already generated. • The image drawn on monitor, printed on laser printer, or written to a raster in memory or a file. These different possibities require us to consider device independence. • Classically, "model" to "scene" to ''image" conversion broken into finer steps, called the graphics pipeline. Commonly implemented in graphics hardware to get interactive speeds. • At a high level, the graphics pipeline usually looks like Modelling Transformatos Model Viewing Transformations Jo stan CIDE MZ 3D World Scene 3D View Scene M3 Model (VCS) (WCS) (MCS) Protection Rasterizados 20-0 Normalize clip 2D/3D Device Scene 0- 2D Image (NDCS) (DCS or SCS)
Synthetic camera model: Each point in the 3D model is projected onto the image plane using the pin-hole camera model
3D-Viewing-Pipeline The viewing-pipeline in 3 dimensions is almost the same as the 2D-viewing-pipeline. Only after the definition of the viewing direction and orientation (1.e., of the camera) an additional projection step is done, which is the reduction of 3D-data onto a projection plane: nom. object- coord. Creation of objects and scenes world-Definition of viewing. Projection proj.- coord mapping region coord onto image coord. image coord. + orientation plane Mapping on unity image region device. coord. Transform. to specific device device coord This projection step can be arbitrarily complex, depending on which 3D-viewing concepts should be used. Viewing-Coordinates Similar to photography there are certain degrees of freedom when specifying the camera: 1. Camera position in space 2. Viewing direction from this position world- 3. Orientation of the camera (view-up vector) coordinates 4. Size of the display window (corresponds to the focal length of a photo-camera) viewing- With these parameters the camera-coordinate system is coordinates defined (viewing coordinates). Usually the xy-plane of this viewing-coordinate system is orthogonal to the main viewing direction and the viewing direction is in the direction of the negative z-axis. Based on the camera position the usual way to define the viewing-coordinate system is: 1. Choose a camera position (also called eye-point, or view-point). 2. Choose a viewing direction = Choose the z direction of the viewing-coordinates. 3. Choose a direction „upwards". From this, the x-axis and y-axis can be calculated: the image-plane is orthogonal to the viewing direction. The parallel projection of the view-up vector“ onto this image plane defines the y-axis of the viewing coordinates. 4. Calculate the x-axis as vector-product of the 2- and y-axis. 5. The distance of the image-plane from the eye-point defines the viewing angle, which is the size of the scene to be displayed. In animations the camera-definition is often automatically calculated according to certain conditions, e.g. when the camera moves around an object or in flight-simulations, such that desired effects can be achieved in an uncomplicated way. To convert world-coordinates to viewing-coordinates a series of simple transformations is needed: mainly a translation of the coordinate origins onto each other and afterwards 3 rotations, such that the coordinate-axes also coincide (two rotations for the first axis, one for the second axis, and the third axis is already correct then). Of course, all these transformations can be merged by multiplication into one matrix, which yw + V yw looks about like this: YvVzy . Yw Mwc,vc=R_R:RI
Three-dimensional Viewing Pipeline World coordinates (3D) transform Transform into view coordinates and Canonical view volume View coordinates(3D) clip Clip against canonical view volume View coordinates(3D) Project on to view plane View coordinates (2D) transform Map into viewport Normalized device coordinates Transform to physical Device coordinates Physical device coordinates
Types of Projection Projection Parallel Perspective Orthographic Oblique One Point Two Point Three Point General Multiview Axonometric Cavalier Cabiner Isometric Dimetric Trimetric