Introduction to Computer Graphics Using Java 2D and 3D

Modelling Three-Dimensional Objects (Introduction to Computer Graphics Using Java 2D and 3D) Part 4

Efficient Computation of Polynomials In order to draw a parametric curve, polynomials have to be evaluated. The same applies to freeform surfaces. In most cases, polynomials of degree 3 are used. This section presents an efficient scheme for evaluating polynomials, which is based on similar principles of incremental computations as introduced in the context of […]

Modelling Three-Dimensional Objects (Introduction to Computer Graphics Using Java 2D and 3D) Part 5

Normal Vectors for Surfaces Aspects of illumination and shading in connection with light reflections are crucial for generating realistic 3D images. Light reflections depend on the angle of the light with respect to the surface. Surface normal vectors are needed for the calculation of these angles. Illumination and shading techniques will be described in detail […]

Visible Surface Determination (Introduction to Computer Graphics Using Java 2D and 3D) Part 1

In order to display a three-dimensional scene, the visible objects must be determined. There are two aspects of such visibility considerations. First of all, clipping will remove all objects that are not in the range that the viewer can oversee. Rendering is only necessary for the objects inside the clipping region. Problems in connection with […]

Visible Surface Determination (Introduction to Computer Graphics Using Java 2D and 3D) Part 2

Spatial Partitioning Back-face culling reduces the computational effort for visibility considerations. Spatial partitioning also tries to remove the computational effort further. The clipping volume is subdivided into disjoint regions, for instance into eight boxes of equal size. The objects are assigned to the corresponding box or boxes with which they have a nonempty intersection. An […]

Visible Surface Determination (Introduction to Computer Graphics Using Java 2D and 3D) Part 3

Ray Casting Ray casting is another image-precision technique for visible surface determination. For each pixel in the clipping rectangles of the projection plane a ray parallel to the direction of projection is cast. The ray should start at the front clipping plane and end at the back clipping plane. The first object that the ray […]

Illumination and Shading (Introduction to Computer Graphics Using Java 2D and 3D) Part 1

Projections, required for displaying a three-dimensional scene on a two-dimensional plane or screen, were discussed in Sect. 5.8. A projection is a special type of mapping from the three-dimensional space to a plane. In this sense, a projection describes only where a point or an object has to be drawn on the projection plane. The […]

Illumination and Shading (Introduction to Computer Graphics Using Java 2D and 3D) Part 2

Reflection In order to achieve illumination and shading effects as in Fig. 8.1 on page 178, it necessary to specify for all surfaces of objects in the scene how they reflect light. The illumination model that is constructed here is not correct from the physical point of view. Ambient light as it is modelled in […]

Illumination and Shading (Introduction to Computer Graphics Using Java 2D and 3D) Part 3

Shading in Java 3D In Java 3D, an Appearance is assigned to each object to characterise the properties of the object’s surface. The class Appearance was already used in Sect. 6.4 to display objects as wire frame models. A very important attribute of Appearance is the Material. The properties of the material and therefore the […]

Illumination and Shading (Introduction to Computer Graphics Using Java 2D and 3D) Part 4

Shadows An important aspect, which has been neglected for shading so far, is shadows. “Casting a shadow” is not an active matter, but simply the lack of light from a light source that does not reach the object’s surface with the shadow on it. The illumination equation including shadows becomes This is the same illumination […]

Illumination and Shading (Introduction to Computer Graphics Using Java 2D and 3D) Part 5

Textures in Java 3D Java 3D provides a variety of methods to apply textures to surfaces. It is possible to specify in detail how the texture should be attached to the vertices of a surface that is modelled by polygons. The details of these methods will not be included in this introductory topic. It should […]