Scientific visualization is finding increasing use in
various fields of research. The range of problems where visualization is
important is very wide: from physical processes based on physically justified
mathematical models [1] to algorithm debugging [2]. Scientific visualization is
based on many achievements in virtual and augmented reality systems. Any new
functionality of virtual reality systems finds immediate use in scientific
visualization, and some of its new functions are initiated by the requirements
of scientific visualization. Owing to the widespread use of virtual and augmented
reality systems, there are opportunities to have more realistic versions of computer-synthesized
pictures and more realistic details. Visualization in such systems is performed
by rendering programs which calculate images based on computer descriptions of
virtual environments or scenes. Therefore, the virtual reality systems can
employ only the capabilities provided by achievements in photorealistic computer
graphics.
The various fields of computer graphics mutually enrich each
other; for instance, a scientific visualization of tsunami and earthquake maps
based on an approach to light interference visualization was proposed in [3].
One of the main problems of photorealistic computer graphics
is to obtain (calculate, render) images of virtual computer 3D scenes by a
virtual camera [4]. Here a virtual scene is a computer representation or a
model of a real scene with the degree of detail, geometry, and optical
materials for which the renderer is designed. Also, a virtual camera is a
computer model of an image-recording device: a camera, a scanner, or a human eye.
A camera is an integral part of any renderer construction. If a renderer
construction does not take into account some peculiarities of the interaction
of light with objects, the calculated image will not show them.
Photorealistic
computer graphics (as indicated in the name) is primarily used to calculate
images of virtual scenes which are comparable to photographs of real analogs of
these scenes. This is done by fully taking into account the details of physical
laws of interaction of light with the material of the scene objects. Such
details include interference, which often takes place in real objects, for
instance, in iridescent spots of petrol on puddles [5].
The phenomenon of interference has not been given sufficient
attention in computer graphics for the following reason: only coherent light
rays can interfere. In our opinion, in the ordinary 3D scenes the light
arriving at a scene point in different ways is, as a rule, incoherent. According
to paper [6], if the illumination of an object of observation is not due to
direct sunlight, but due to light scattered by surrounding objects or clouds, the
individual points of these objects can be considered sources of incoherent
waves (the size of their coherence domain is 0,06 mm). Thus, it has turned out
that only calculations of energy for individual rays are sufficient, without
taking into account the phase of electromagnetic oscillations (the wave nature
of light). At the scene point being investigated only the ray energies are
added, and no phase shifts of the light waves coming to the scene point with
different rays must be taken into account.
There are more complicated manifestations of interference,
namely, interference pictures of
anisotropic crystals
[7, 8], which can
be obtained by a conventional camera even in a very simple scene with a
transparent anisotropic mineral (for instance, calcite or quartz) between the
polarizers in a polariscope [9]. In the present paper, scenes with optically
anisotropic objects are not considered.
Here we consider a direct simulation of the propagation of linear
polarized light rays in a scene with optically isotropic objects and media,
that is, a calculation of the propagation of light rays from a source to an image
plane. An important characteristic of the algorithm is that the tracing is
performed by
linear polarized rays
of "zero thickness" [10], that
is, by rays used in traditional renderers (in contrast, for instance, to
Gaussian solid beams [10]). Some issues are considered with a description of
computer experiments in which images are calculated by taking into account the
interference of simplest scenes containing transparent optically isotropic
objects. Special attention is given to some peculiarities of the calculation of
interference effects to be taken into account in the development of corresponding
renderers.
In the present paper, diffraction is not considered. It
plays an important role, but requires time-consuming calculations, although this
phenomenon is not always visible in ordinary scenes.
Few works have been published on the calculation of
interference pictures, even for scenes with objects specified by optically
isotropic materials. Major attention has been given only to some questions
arising in the development of renderers. In the present paper, we propose some solutions
to the following questions:
·
Representation
of a ray in rendering, that is, information about the ray which allows taking
into account interference in the calculations.
·
Expansion
of the concept of scene object material.
·
Ray
intensity estimation on an image surface.
An attempt is made to gather the basic technical information
and present it in sufficient detail. The goal of the authors is to describe the
peculiarities of calculation of the interference effects to be taken into
account in the development of appropriate renderers, but not the development of
any specific renderer.
In Section 2, some of the available papers on visualization
are considered. Section 3 provides a brief description of light polarization
and the calculation of intensity in the case of two-ray and multi-ray interference.
Some proposals are made on modifying the concept of object material and the information
load of a tracing ray to provide flexible programming of scene rendering in the
presence of interference. Section 4 is devoted to numerical experiments based
on classical scenes: Young's experiment and amplitude division [5]. In Section
5, an approach is proposed to the resulting intensity calculation in an image
plane pixel using the wave nature of light.
Interference pictures have been much studied in the
scientific, educational, and technical literature devoted to optics (see, for
instance, [5–7, 11], and many others). All such studies do not consider
computer graphics and describe the physics of some observed pictures depending
on the material of the sample and its parameters. Interference pictures are a
tool for identifying the material (mineral), evaluating the quality of a product
(for instance, sugar), etc. Among the most well-studied objects are
well-polished plane-parallel plates and wedges. Optical devices, such as
interferometers [5, 11, 12] and others, have been studied in detail, since they
are of great practical importance. Thin films (such as spots of petrol on water
and paint coatings) have also been studied in detail. The calculations are
mainly made in a small neighborhood of the interaction of a ray with a plate or
a thin film. The way in which an interference picture is obtained is usually
not clearly formalized. It is only stated that the interference picture is in
the focal plane of a lens or in an eye at infinity (see [5, 6], and others).
The available programs of photorealistic rendering allow
obtaining images for scenes in which the optical properties called materials (coefficients
of reflection, refraction, etc.) of objects and sources are specified with
spectra in a visible wavelength range from 380 to 780 nm. The phenomenon of
optical
dispersion
, that is, the phenomenon in which the refraction angle of a
light ray depends on the wavelength (the refractive index of the medium), can
be taken into account by using so-called spectral rendering [4, 13]. Hence,
Newton’s prism experiment on white light decomposition into its spectrum can be
programmed. This has been demonstrated by many modern renderers (for instance,
Maxwell render [14]). Spectral rendering has made it possible to calculate
physically correct images of diamonds, rhinestones, glass objects, etc.
In photorealistic computer graphics, attention was naturally
given to the phenomenon of interference, which often manifests itself in
everyday life. Let us consider the most well-known approaches.
First of all, there appeared papers in which interference in
thin films was calculated on the basis of analytical solutions, mathematical
models, and formulas available in the physical literature. One of the first
works of this type was presented by Diaz [15]. A series of papers is devoted to
simulation of interference on thin films (see, for instance, the paper of
Glassner [16]). With given parameters, the required image for a scene
consisting of two or three soap bubbles was calculated by corresponding
formulas. Unfortunately, optical dispersion was not taken into account, since
the same refractive index was used for all wavelengths. In fact, in this case
computer graphics was used on the level of a pixel, line, or symbol. Various
specialized systems or simulators can be constructed in this way, but this is
not photorealistic computer graphics proper.
In relation to computer graphics and interference
calculation, one should mention paper [17], in which it was proposed to render
by tracing polarized rays and take into account the Fresnel decomposition [5,
6] when calculating ray-surface interactions. A special scene object (a thin
film, a varnish or paint layer) was identified. The authors proposed a
parametrized geometrical and optical model of this object with interference
effects to calculate an analog of the function of reflection from the object
depending on the angle of the incident ray with the normal. All interactions
with such objects were made by using this reflection function. In their
numerical experiments the authors used the same refractive index for the
material of the interfering layer; that is, optical dispersion was neglected.
The methods of computer graphics were most clearly presented
and implemented in papers [18, 19], in which images with interference in thin
films were calculated. In their subsequent paper [20] the authors also used a polarized
light decomposition into parallel and perpendicular components and the Fresnel
formulas.
Thus, according to these papers, the modification of a
traditional renderer (as a rule, an RGB renderer) is, in simple form, as
follows: a) a ray of a typical form (for example, in the form of an RGB triple)
falls on an interfering layer or an object; b) the energy transferred by the ray
is converted to spectral form; c) interference is calculated inside the object:
the outgoing ray is calculated in spectral form; d) the outgoing ray is
transformed back from spectral form to RGB; e) the RGB ray continues to move in
the scene. At the second stage (b), analytical solutions for thin films [18–20]
or special reflection functions are used [17].
Paper [20] describes a method for embedding interfering
objects (here films) into Pixar’s RenderMan [21], a renderer which is based on
an RGB light ray representation.
Many papers are mainly devoted to simulating the geometry of
soap bubbles and speeding up the calculation of pictures, but pay less
attention to exact calculation of interference. Most likely, the purpose of
such works is to obtain rainbow colors close to natural ones (for instance,
textures, as in [22]).
We have discussed some representative works on the
phenomenon of interference. For more comprehensive lists of literature the
reader is referred to reviews in these papers.
Note the following typical peculiarities of these works:
·
As
a rule, a traditional representation of a ray is used, except when it is
“inside” an interfering scene object. That is, in the scene itself the ray has
only information about the intensities of the RGB color components.
·
It
is not clear how the optical characteristics of an interfering object are
specified, that is, no specifications of the material are given.
·
In
the above-mentioned works nothing is said about the camera or the image plane. As
regards the rendering of the entire scene, a ray is transmitted in a specific
format to the module that traces rays inside the object, perhaps for
calculating the interference, and receives the rays in the same format on the
way out.
·
Optical
dispersion is often neglected in the numerical experiments.
·
In
most cases, obtaining of rainbow colors is guaranteed, which makes the image
realistic but not physically correct.
There is an absolutely different approach based on physical
optics, that is, taking into account the wave nature of light. In paper [10], it
is proposed to perform tracing of not traditional rays of zero thickness, but a
complex tracing based on Gaussian spherical waves or Gaussian beams. Only
paraxial rays are used, which is often sufficient in the development of models
of microscopes, lenses, etc. To date, many rendering algorithms have been
proposed (see [4]) which, instead of a mathematical beam of zero thickness, use
solid objects for tracing: a cone, a beam of rays, or a pencil (a beam with a
central ray). None of them have been universally adopted for realistic and
fast rendering of complex scenes. The present authors think that it is not
realistic to construct an entire renderer on the basis of Gaussian beams even
in the near future, despite the fast development of computer technology: It will
be expensive and take a long time. However, it is quite feasible for optical
systems, when a small number of elements is centered along a single axis.
In the present paper, an approach to modernizing the
existing photorealistic spectral rendering is proposed for a physically correct
simulation of the phenomenon of light interference. In general, interference
cannot be taken into account without considering light polarization. Therefore,
we will have to modernize the representation of a ray of light by introducing
parameters of the state of its polarization. On the other hand, a more accurate
specification of the object material as a set of its optical properties is
needed.
An extensive review of works on rendering by a ray of
polarized light and rendering using a polarized ray of optically anisotropic
transparent materials can be found in [23]. Algorithms of interaction of linear
polarized light with transparent optically isotropic and anisotropic objects
are considered in [2, 24 – 27].
Various aspects of rendering that can be used to calculate
interference pictures are covered in a number of conference talks: on the
development of a mathematical model of a polarized ray [22, 28, 29]; and on the
interaction of polarized light with isotropic lenses [30].
Without polarization, only Young’s experiment on division of
wave front [5] or similar experiments can be simulated in a physically correct
way, when light upon its passage from a source to a screen (eye) is not
reflected and refracted on the scene surfaces (since they are absent). Hence, in
this case light is not polarized even partially.
Reliability and physical correctness of the
algorithms.
The algorithms for visualization of interference effects are mostly based on a correct
application of physical laws and formulas. For the photorealistic rendering
algorithms in computer graphics, an approach to verifying the reliability and
physical correctness of the rendering algorithms was proposed in the CornellBox
project [31]. Two “identical” scenes were prepared: a very simple real scene
consisting of several cubes having diffuse colors and a virtual computer scene.
A photo of the scene was compared pixel by pixel with an image synthesized by a
virtual camera based on a calculation using a radiosity method. It was
demonstrated in papers [26, 32] that the pixel-by-pixel comparison of a
photograph and results of an algorithm for interaction of rays of light with
transparent anisotropic objects, using a convex calcite hexagon as an example,
is reliable. Note that (visual) reliability can be confirmed by an expert when
a photo and a synthesized image are evaluated by an observer (see, for
instance, paper [25] in which birefringence is simulated).
In the above algorithms for the simulation and calculation
of interference, no similar tests have been made, and it is not clear whether the
calculated images are obtained due to interference or optical dispersion. The
authors of paper [33] note that diffraction (CD discs), interference (oil
spots, films), dispersion (light decomposition by a prism), scattering
(rainbow), that is, four different optical mechanisms can be sources of rainbow
colors. Moreover, the observer might think that the image under inspection was
calculated without possible interference effects; for instance, this might be a
result of calculation of caustics, as in [34]. In other words, before
demonstrating a synthesized image to the reader, he should be prepared by
describing the details of the scene and eliminating the influence of optical
dispersion and other phenomena. In our opinion, the most realistic and reliable
demonstrations of interference are the results of calculations of images for
scenes with monochrome sources.
Note that, in contrast to geometric optics, in wave optics
the term “ray” is used for brevity, to denote the direction of propagation of
light energy. In what follows, this term will be used without quotation marks.
Light ray polarization is a characteristic that describes
the behavior of the electric field vector in a plane perpendicular to the
direction of ray propagation. Polarization can be linear, circular or, in the
general case, elliptical [5]. Every individual electromagnetic wave is completely
polarized. A ray means a quasi-monochrome light ray as a totality of waves
propagating along a straight line and having the same wavelength [5]. It can be
fully polarized, partially polarized, or unpolarized, depending on the degree
of correlation of oscillations of individual waves in the ray.
The following peculiarities are important for the
calculations (according to [5]):
·
A
wave of natural (unpolarized) light of intensity
is
equivalent to two
independent
linear polarized waves whose intensity is
equal to
and with electric vectors oscillating in two
mutually perpendicular planes that are normal to the direction of propagation.
·
Partially
polarized light can be represented as the sum of fully unpolarized and fully
polarized parts that are independent of each other.
·
Two
waves that are polarized in mutually perpendicular planes do not interfere.
·
Rays
with circular and elliptical polarization can be represented as a combination
of linear polarized rays. Then, without loss of generality, calculations with
fully polarized rays (and only with linear polarized rays) can be made.
There are several mathematical constructions (approaches)
for describing and calculating the state of polarization: Jones vectors and
Jones matrices, Stokes vectors and Mueller matrices, coherence matrices and
their modifiers (see details in [5, 26, 35, 36]). In papers [2, 26, 27], polarization
was successfully represented on the basis of
coherence matrices
. This
representation makes it possible to describe natural (unpolarized), partially
polarized, and fully polarized light, which was sufficient for the problems under
consideration. Coherence matrices (like the other representations)
do not keep
the phase of an electromagnetic oscillation
or the optical path of a ray.
Therefore, none of the representations of polarization is preferable to the
others.
Note that in any representation of polarization, when a ray
is incident on a surface, there are clear procedures of calculating the
parameters of reflected and refracted rays.
Assume that the renderer to be modified calculates images in
the spectral rendering mode [4, 13]. In the present paper, it does not matter
what kind of ray tracing is used in the renderer for calculations: forward,
reverse, recursive of the Whitted type [37], with lightmaps or with photon maps.
In any case, energy is collected starting from the source. However, when maps
are used, they should be considered as secondary sources along with the
original ones, since they do not contain any information on coherence, or maps should
also be modernized.
Light is a totality of waves from some (typically
continuous) interval of electromagnetic wavelengths and is represented by a
spectrum
which is, in
fact, a curve. There are cases when the spectrum curve has clear peaks; often
they are considered separately. In spectral rendering, first a discretization
is performed and a discrete spectrum is formed that approximates, with the needed
accuracy, the curve
as a set of
samples
.
Here
is the
amplitude of oscillations of the electric component for a wave of length
. The same
set includes peaks, if any. This paper considers objects, which do not change
the length of a light wave when interacting with it, like the vast majority of
real-world objects. Of course, some materials, for instance, fluorescent ones,
are not considered. For these, it will be necessary to refine the mathematical
model.
In what follows, all formulas (unless otherwise specified)
are considered for monochromatic light with wavelength in vacuum
.
The entire process of calculation is performed for each
wavelength from the set
separately, thus forming
monochrome
images. At the end of the process, the resulting image is formed on the basis
of individual monochrome ones – the stage of color conversion from the spectrum
to RGB (
tone reproduction
) [13, 38].
Only coherent rays can interfere. The intensity at the point
where these rays meet in the scene (on the image plane) is affected by the
path
difference
(the difference of the
optical paths). Following [5], it
is assumed here that rays are
coherent
if they were initially emitted by
a point (a small neighborhood) of any of the scene sources, and then reached this
point in different ways.
In paper [39], some methods for obtaining coherent waves
to
perform real experiments
are presented. Specifically, there are two ways to
obtain waves for implementing interference in optics: 1) division of wave
amplitude, and 2) division of wave front. In the numerical experiments,
these methods will be considered on the basis of some classical experiments.
It is noted in papers [5, 6] that there is no interference picture
if the path difference exceeds the
coherence length
. If we observe
interference pictures, in such a real scene this length is not exceeded. Nevertheless,
this rule should not be neglected, but the user will have an opportunity to
control the parameter of
coherence length
– which is specific for each
source.
For greater flexibility in the development of virtual 3D
scenes, we propose to control ray coherence in the following way:
·
Each
ray has an attribute of
optical path
and an attribute of
coherence
.
The latter defines a unique point (neighborhood) of the source that generated
this ray. It can be numerical or mnemonic. If two rays have the same values of
the attribute of coherence (source), they are coherent. Let the zero value mean
that coherence is not defined, that is, the ray is not coherent with any other
ray.
·
Each
source has an attribute of
coherence length
. If a ray generated by this
source has passed more than a specified value, it will be “incoherent” in its
further propagation in the scene for all other rays, that is, the attribute of
coherence
is set to zero.
·
If
a ray is refracted or reflected at its interaction with the scene surface, the
user can control the coherence of generated (reflected, refracted) rays, both
at the same time or each separately: a) they inherit the value of the attribute;
b) lose coherence. For each scene surface, specific rules can be set. This
means that the number of attributes in the
concept of object material
should
be increased by adding the above-mentioned data control tools associated with
the ray.
Note: if a source originally generated unpolarized light,
two rays are generated instead of one (see above), and each of them has its own
unique attribute of coherence, since they are independent.
Let two waves emitted by a single source come to a scene
point
, and let them be linear polarized and
coherent. Their electric vectors are
and
,
respectively. These waves can be written as
, where
is the phase,
and
is the vector
amplitude. The electrical component of an electromagnetic wave is important for
photography, since the incoming intensity is proportional to the squared
amplitude of this wave. Therefore, we will consider only this component,
, where
is a
coefficient. In what follows, we will not distinguish between the intensity and
the squared amplitude, since this will not greatly change the description and
calculation algorithms. The resulting electric field [5] at the scene point
under consideration is the vector
|
(1)
|
Hence,
|
(2)
|
The
total intensity
is expressed in terms of the
intensities of both waves as
,
|
(3)
|
where
the last term is
interference
.
In the literature (see [5, 11, and others], the focus is
first on the most important practical case when both waves propagate almost
along the same straight line or reach the point
of interest
from close
directions. In paper [17], their polarization planes are assumed to coincide. In
these conditions the intensity at point
is
found by the formula
|
(4)
|
where
is the phase
difference of the two electric fields at
. For simplicity, we
assume that both rays have left the source with zero phase. Let a ray (more
precisely, a path) pass from the source to the point a distance of length
in a
medium with a refractive index
, ... , and a distance
of length
in a medium with refractive
index
. Then the optical path of the ray is
calculated by the formula
, and the phase changed by
. The two
rays have passed optical paths
and
. Then the
phase difference due to the difference in the optical paths is
.
Consider the case when more than two rays meet at a point.
Then we use the initial formula (1) to determine the resulting value of the
electric field vector. Rays converging at a point may represent some number
of
groups of
mutually coherent rays
. Then the resulting field may be
represented as the sum
of
independent
(mutually incoherent) fields
:
|
(5)
|
and the
sought-for intensity
or
|
(6)
|
Let us calculate the individual intensity terms — the
intensities contributed by the individual groups of coherent rays. Let there be
rays in a group
. Here the
phase of the incoming wave begins to play a role. In the case of arbitrary
scenes, the vectors
may have an arbitrary direction. Therefore, it
does not make sense to remove the brackets, as in formula (2). In paper [40], a
data structure was created to group rays arriving at a point from almost the
same directions. Then the sum of pairwise interference terms within these
groups was calculated. In this case, the interference of coherent rays coming
from different directions could be lost. In paper [17], consideration was
restricted to a case when interfering rays come from identical directions and
have identical polarization planes, that is, formula (4) was used. In [18, 19] the
calculations were based on the amplitude division algorithm [5] and formula (4).
In our approach, it is proposed first to directly calculate
the field
of this group, and then calculate the
intensity by simply squaring the amplitude, according to the definition. Recall
that the
j
-th ray comes to point
P
with a value of the vector
, where
is the phase,
which is calculated using the optical path passed by the ray according to the
above algorithm. Then
.
Note that each term here is a vector in space. Figure 1
shows the vector of the resulting electric field at different scene points
where the same three coherent rays meet: on the left for point
:
, and on the right for point
:
. For simplicity, a plane case is shown. The
field vectors of the different rays are denoted by solid arrows of different
colors, and the resulting vector is denoted by black color. An auxiliary
construction for the addition of vectors is shown by dotted lines. The figure
shows that the length of the resulting vector can vary significantly from point
to point and, hence, the intensity is the squared length. Similar constructions
can be found in books [11, 41] in a different context: constructing diffraction
pictures.
Fig. 1. Calculation of the resulting electric field
vector (black) at two scene points.
In order to correctly calculate the current phase,
information about the optical path is not sufficient. It is also necessary to
consider the jumpwise phase changes in the reflection of light at the interface
between two transparent
isotropic media with refractive indices
and
. According
to [5, 18], in reflection from the medium with the larger refractive index the
phase shifts by
:
|
(7)
|
As a rule, this treatment is made when considering rays of
unpolarized light. However, in what follows a subtler approach is considered. To
describe the interaction of a ray with
, the Fresnel
formulas are typically used (see [5, 6, 20, 30]). For this, for an incident ray
of even polarized light the electric field vector
in the
general case is decomposed into two components: polarized perpendicularly to
and parallel
to
of the
incidence plane. The incidence plane is determined by the incident ray and the
normal to the surface. In the case of normal incidence, when these vectors are
collinear, no decomposition into the components is made.
Let a fully linear polarized ray with electric vector
strike the interface
between two transparent media. We use the following notation:
– angle of
incidence,
– angle of
refraction,
– Brewster’s
angle,
. Let us decompose
into two
components:
, one in the incidence plane and the other
perpendicular to it. Similar decompositions are made for
of the reflected wave and
of the refracted wave. With the Fresnel
formulas we find the following relations between the amplitudes of the
incident, reflected, and refracted waves:
In the case of normal incidence, there is no decomposition
into the components, and the formulas are transformed as follows:
.
Total
internal reflection is a specially considered case. Here
.
Taking into account the angle of incidence
and
Brewster’s angle
at the
boundary
, the phases of
reflected and refracted rays are corrected according to the following rules:
·
Under
refraction, the incident and refracted rays are co-phased.
·
: under
reflection, the phase changes to
, if
.
(8)
·
: under
reflection, the phase changes to
, if
.
|
(9)
|
For the case of total internal reflection, more complex
expressions for the phase jump are used [42]:
Once the Fresnel formulas are applied, the resulting
generated rays are formed by adding their coordinate components.
When
calculating images, rays are traced from their sources. Let us consider a
linear
polarized light ray with attributes
.
Here the mathematical ray is
and
the corresponding right-handed coordinate system is
,
is the
ray origin,
is the direction, and
is the
set of attributes. The coherence matrix of this ray is related to this
coordinate system, that is, its polarization and intensity are specified. The
ray strikes the scene surface and generates new (reflected and refracted) rays.
In this implementation, we take a coordinate system such that the electric
vector oscillations are along the
X
-axis. The following set of
attributes is sufficient for calculating images taking into account
interference:
·
– light
wavelength. It was mentioned in Section 3.2 that only monochrome rays are used
for spectral rendering.
·
– identifier of the
ray-generating point light source or of the differential area of the areal
source. The program can assign unique identifiers (numeric or text ones). Let
the zero value mean that a given ray on its further path will not be coherent
with any other ray. Two rays are coherent if their source identifiers are
nonzero and coincide.
·
–
limiting coherence length.
·
– 2x2 coherence matrix. The
intensity
is
calculated with the matrix trace.
·
– optical path from the source used to
calculate the current phase of an electromagnetic wave.
·
– phase jump
accumulated under reflections.
The generated (reflected and refracted) rays inherit some of
the attributes, or they are recalculated at the contact of the generating ray
with the scene surface.
To account for interference, the renderer can be modified as
follows:
·
Divide
all rays coming to a screen point into mutual coherence groups.
·
Determine
the final phase and the electric field vector for each ray of each group.
·
Obtain
the resulting vector for each group.
·
Add
the squared lengths of the resulting vectors of the ray groups.
·
Calculate
the intensity
.
Thus, all computational features of the interference
accounting algorithm in a 3D scene with optically isotropic objects have been
defined. Now let us consider numerical experiments illustrating the above statements.
Young’s experiment is an experiment with
wavefront
division
[5]. A parallel ray of monochromatic light strikes a screen
A
with a small hole. Passing through the hole, the light reaches a second screen
B
with two slits,
and
, located at
a distance
d
from each other. The coherent rays coming from each of the
slits interfere on a third screen,
C
(image plane) located at a distance
from
B
.
Fig. 2 shows a scheme of the experiment.
Fig. 2. Young’s experiment, illustration from
[43].
Let us construct a 3D scene for tracing the rays and
calculating the image on the screen
: a) monochrome coherent
light sources
and
in the
form of thin vertical parallel lines; b) screen
, on which
the image is formed;
and
are the ray
paths to point
. The refractive index of the medium is
set equal to 1 and
, as
required in [5].
The right image in Fig. 3 is calculated by formula (4) with
the following parameters:
.
In fact, in the scene the light rays do not cross any
boundaries. Hence, the phase correction rules at reflections need not be
applied.
Fig. 3. Photo of Young’s experiment from [5]
(left), result of a numerical experiment from [28] (right).
Another popular experiment demonstrating interference is that
with
amplitude division
(the Fresnel method) [5]. In paper [28], a
version of this experiment was simulated with the scene shown in Fig. 4 (left).
A point source generates coherent monochrome rays of unpolarized light. A
Shield
prevents the rays from striking a
screen
(image), and the reflected ray
is
shielded by the Shield. Only rays interacting with a plane-parallel
t
ransparent
plate
fall on the screen. A target screen point
is
reached by two rays:
, the ray reflected from
the upper boundary of the plate, and
, the ray reflected from
its lower boundary. In other words, the interference of
and
is
calculated; their amplitudes are obtained by dividing the amplitudes of
different
initial rays
from the source. However, they are coherent, since there is only
one source, and the resulting images are physically correct. In this experiment
no additional devices are needed to bring the interfering rays to one screen
point.
Fig. 4. Scene from [28] (left), scene
corresponding to a popular description of the amplitude division experiment from
[5] (right).
In the literature, this experiment (see [5] and others) is
often described for the scene shown in Fig. 4 (right). To bring the interfering
rays to one point, a
lens
is added whose focal plane is the
recording
screen.
The ray
used
in [28] in this scene misses the lens and does not strike the screen.
Let us perform a series of experiments. Figure 5 shows an
image calculated in spectral rendering by most of the existing renderers, since
only the sum of intensities,
, coming with two rays
(but not coherence) is taken into account.
Fig. 5. Image calculation without coherence.
In Fig. 6 (left), coherence is taken into account, formula
(4) is used, and the phase difference is calculated only on the basis of the
difference of the optical paths. Let us take into account the phase jump when
ray
is reflected from a denser
medium (Fig. 6, right). One can see that the picture has changed: the colored
stripes seem to have shifted.
Fig. 6. Coherence and phase difference taken
into account only on the basis of the difference in optical paths, calculation
by formula (4) (left); calculation taking into account phase jump
under
reflection (right).
Let us calculate the image by the Fresnel formulas, with an
unpolarized light ray represented as the sum of rays polarized parallel to the incidence plane and perpendicular to it,
, and use formulas (8) and (9). According to the
theory, the intensity at point
is calculated by adding
up two intensities,
, see Fig. 7
(right).
The two images shown in Fig. 7 in an RGB format are as
follows: the total number of pixels is 810000; the number of different pixels
is 79041; the maximum difference (r+g+b) = 60 at (12, 42); the maximum difference
between the components (r | g | b) is 31 at (10, 49). That is, the difference
is an almost black image. It turns out that in some cases the coarser model in
Fig. 7 (left) gives a rather good image. Fig. 8 shows histogram stretching to see
places corresponding to the maximum discrepancy. This discrepancy is, most
likely, due to the fact that in Fig. 7 ( left) all rays were processed
according to the rules for rays with perpendicular polarization
, and the
effect of Brewster’s angle on
was not
taken into account (see formula (9)). Note that the dark "parabolic"
stripe in Fig. 8 is located in the vicinity of Brewster’s angle.
Fig. 7. Right image of Fig. 6 (left); image
calculated on the basis of decomposition,
(right).
Fig. 8. Histogram stretching of the difference of images shown
in Fig. 7.
In many experiments (as shown in the computer simulation of
Young's experiment) and in the simulation of optical devices, the approach not
taking into account Brewster’s angle is quite sufficient (see the above images),
especially when the incidence angles are mostly near zero or reflection is
ignored. Our experiments have also shown that when using the Fresnel
decomposition the perpendicular component makes a more significant contribution
to the image than the parallel one. Note that the intensity of a ray from a
point source decreases as the squared distance. This was not taken into account
in the experiments, since major attention was given to how allowance for
polarization or correct calculation of the phase shift affect the image of
interference. The user can choose a suitable version of these methods.
A comparison of the images calculated with various physical
correctness shows that any of them satisfies the requirements of photorealism
in works aimed at obtaining a rich palette of rainbow colors.
Let us consider Fig. 4. All numerical experiments were
performed for the left scene. These are model experiments, and the rays coming
from a source to a point
have been accurately
calculated and, hence, their phases have also been accurately calculated. The
problem is more complicated if we develop a renderer taking into account
possible interference. The renderer calculates an image on some image plane
consisting of pixels. Two or more coherent rays moving around the scene get
into a certain pixel or subpixel. But a pixel is not a point! Nevertheless, a
possible solution is to calculate interference for all coherent rays getting
into a pixel. In our opinion, this problem was the reason for ignoring optical
dispersion in the experiments reviewed in Section 2. In the introduction, an
approach from [10] was discussed: tracing not with mathematical, but with
"solid" rays. This solution would greatly increase the complexity of
calculations for
arbitrary scenes
, and make accounting for interference
practically unacceptable due to high computational complexity even in the near
future, despite the fast development of computer technology. For the same
reason, no algorithms based on tracing with a cone, pencil, etc. instead of a
mathematical ray have been widely used in practice.
The right scene in Fig. 4 includes a lens which makes the
calculation more difficult: optical dispersion, spherical aberration, etc. In
fact, for this scene the problem as a whole must be solved. Eye observation is
often simulated by using a system of lenses.
In conclusion, it should be noted that this problem calls
for a separate study, which we plan to do in the nearest future.
This work was carried out under state contract with ICMMG SB
RAS (0315-2019-0001).
1.
Bondarev
A. E. On visualization problems in a generalized computational experiment //
Scientific Visualization, 2019, Vol. 11, ¹ 2, pp. 156-162
(doi:10.26583/sv.11.2.12)
2.
Debelov
V. A., Kozlov D. S. Visualization of light polarization to debug ray tracing
algorithms // Scientific Visualization, 2013, Vol. 5, ¹ 5, p. 71–87.
3.
Xiaoru
Y., Minh N., Yingchun L., et al. Tsunami and Earthquake Visualization Inspired by Light Interference, 2006. Available at:
https://www.researchgate.net/publication/228777380_Tsunami_and_Earthquake_Visualization
_Inspired_by_Light_Interference.
Accessed 20 Mar 2020.
4.
Foley
J. D. et al., Computer graphics, principles and practice, 2nd ed.
Addison-Wesley, Reading, Mass., 1996.
5.
Born
M., Wolf E. Principles of Optics: Electromagnetic theory of propagation,
interference and diffraction of light.
Cambridge Univ. Press, 1980.
6.
Landsber
G. S. Optika [Optics], 6th ed.
Moscow: FIZMATLIT, 2003 [in Russian].
7.
Shaskolskaya
M. P. Kristallografiya [Crystallography]. Moscow: Vysshaya Shkola, 1976 [in
Russian].
8.
Bloss
D. An introduction to the methods of optical crystallography.
NY: Holt, Rinehartand,
and Winston, 1961.
9.
Vasilyeva
L. F., Debelov V. A., Shelepaev R. A. O razrabotke virtualnogo microskopa [On
development of virtual microscope] // Proceedings of Intl. Conf. SCVRT2018,
Puschino, TsarGrad, Russia, Novermber 20–23, 2018, pp. 325–332. [in Russian].
10.
Harvey
J. E., Irvin R. G., Pfisterer R. N. Modeling physical optics phenomena by
complex ray tracing // Optical Engineering, Vol. 54, ¹.
3, 12 p., 2015,
(DOI:10.1117/1.OE.54.3.035105)
11.
Nagibina
I. M. Inerferentsiya i difraktsiya sveta [Inteference and diffraction of
light], 2nd ed.
Leningrad:
Mashinostroenie, 1985. [in Russian].
12.
Novitskii
L. A. Optiko-elektronnye pribory dlya nauchnyh issledovaniy [Opto-electronic
devices for scientific research]. Moscow: Mashinostroenie, 1986.
[in Russian].
13.
Devlin
K., Chalmers A., Wilkie A., Purgathofer W. STAR: Tone reproduction and
physically based spectral rendering // Eurographics 2002, pp. 101–123.
14.
Maxwell
render, 2013, http://www.nextlimit.com/maxwell/.
Accessed 20 Mar 2020
.
15.
Dias
M. L. Ray tracing interference color // IEEE Computer Graphics &
Applications, Vol. 11, ¹ 2, pp. 54-60, 1991.
16.
Glassner
A. S. Andrew Glassner's Notebook Soap Bubbles: Part 2 // IEEE Computer Graphics
and Applications, Vol. 20, ¹ 6, pp. 99–109, 2000.
17.
Gondek
J. S., Meyer G. W., Newman J. G. Wavelength Dependent Reflection Functions //
Computer Graphics (Proc. Siggraph’94), ACM Press, New York, pp. 213-219, 1994.
18.
Sun
Y., Fracchia F. D., Calvert T. W., Drew M. S. A spectrally based framework for
realistic image synthesis // Visual Computer, Vol. 17, ¹ 7, pp. 429–444, 2001.
19.
Sun
Y., Fracchia F. D., Calvert T. W., Drew M. S. Deriving Spectra from Colors and
Rendering Light Interference // IEEE Computer Graphics and Applications, ¹ 4,
pp. 1-8, 1999.
20.
Sun
Y., Wang Q. Interference shaders of thin films // Comput. Graph. Forum, Vol.
27, Iss. 6, pp. 1607–1631, 2008.
21.
Pixar’s
RenderMan, https://renderman.pixar.com/.
Accessed 20 Mar 2020.
22.
Iwasaki
K. et al. Real-time rendering of soap bubbles taking into account light
interference // Proceedings of Computer Graphics International Conference CGI,
pp. 344 – 348, 2004.
23.
Debelov
V. A., Kozlov D. S. STAR: Rendering of transparent optically anisotropic
objects // Conference Proceedings of Graphicon’2013, Vladivostok, Russia, pp.
50–55, 2013.
24.
Guy
S., Soler C. Graphics Gems Revisited // ACM Trans.
Graphics, Vol. 23, ¹ 3,
pp. 231-238, 2004.
25.
Weidlich
A., Wilkie A. Realistic Rendering of Birefringency in Uniaxial Crystals // ACM
Trans.
Graphics,
Vol. 27, ¹ 1, pp. 6:1-6:12, 2008.
26.
Debelov
V. A., Kozlov D. S. A Local Model of Light Interaction with Transparent
Crystalline Media. // IEEE Transactions on visualization and computer graphics,
Vol. 19, ¹ 8, pp. 1274–1287, 2013.
27.
Kozlov
D. S., Debelov V. A. Algorithm for photorealistic rendering of transparent
optically active isotropic crystals // Programming and Computer Software, Vol.
41, ¹ 5, pp. 267–272, 2015.
28.
Debelov
V. A. Interferenciya sveta, izotropnye prozrachnye ob'ekty, trassirovka luchey
[Light interference, isotropic transparent objects, ray tracing] // Conference
Proceedings of Graphicon'2015, pp. 168-173, 2015. [in Russian].
29.
Vasilyeva
L. F., Debelov V. A. Evolutsiya modeli lucha sveta dlya renderinga [Evolution
of rendering light ray representation] // Proceed. of The International
Scientific Conference of The Moscow Institute of Physics and Technology (State
University) on Situational Centers and Information-Analytical System 4i Class
for Monitoring and Security Tasks - SCVRT1516, November 21-24, 2015-2016,
Puschino, TsarGrad, Russia, pp. 178-184.
[in Russian].
30.
Debelov
V. A., Kushner K. G., Vasilyeva L. F. Lens for a Computer Model of a Polarizing
Microscope // Mathematica Montisnigri, Vol. 41, pp. 151-165, 2018.
31.
Cornell
Box, http://www.graphics.cornell.edu/online/box, 1998.
Accessed 20 Mar 2020.
32.
Debelov
V. A., Kozlov D. S. Rendering of translucent objects, verification and
validation of algorithms // Conference Proceedings of the WSCG'2012, Plzen, pp.
189–196, 2012.
33.
Lindsay
C., Agu E. Physically-based real-time diffraction using spherical harmonics //
Lecture Notes in Computer Science, Vol. 4291, pp. 505-517, 2006.
34.
Tandianus
B., Johan H., Seah H. S. et al. Spectral caustic rendering of a homogeneous
caustic object based on wavelength clustering and eye sensitivity // Visual
Computer, Vol. 31, ¹ 12, p. 1601–1614, 2015 (DOI: 10.1007/s00371-014-1037-z)
35.
O’Neil
E. L. Introduction to statistical optics. Addison-Wesley, 1963.
36.
Tannenbaum
D. C., Tannenbaum P., Wozny M. J. Polarization and birefringency considerations
in rendering // Comp. Graphics (SIGGRAPH '94 Proceedings), ACM Press. pp.
221–222, 1994.
37.
Whitted
T. An Improved Illumination Model for Shaded Display // Comm. ACM, Vol. 23, ¹
6, pp. 343-349, 1980.
38.
Glassner
A.S. How to Derive a Spectrum from an RGB Triplet // IEEE Computer Graphics
Applications, Vol. 9, ¹ 4, pp. 95-99, 1989.
39.
Methods to
obtain coherent waves in optics,
http://mash-xxl.info/page/237202153160037004017084166207088218106096019211/.
Accessed 20 Mar 2020.
40.
Kozlov
D. S. Algoritm renderinga po metodu Monte-Karlo petrograficheskih shlifov
odnoosnyh kristallov [Algorithm for Monte Carlo rendering of cross sections of
uniaxial crystalls] // Proseed. of Young Scientists School, Intl.
Conf. Graphicon'2009,
Moscow State University, 2009. [in Russian].
41.
Ahmanov
S. A., Nikitin S. Yu. Fizicheskaya optika [Physical optics], 2nd ed.
Moscow State University,
Nauka, 2004. [in Russian].
42.
Kizel
V. A. Otrazhenie sveta [Reflection of light]. Nauka, 1973. [in Russian].
43.
Kuznetsov
S. I. Klassicheskiy interferentsionnyy opyt Yunga [Young's classic interference
experiment],
http://900igr.net/prezentatsii/fizika/Interferentsija-voln/019-Klassicheskij-interferentsionnyj-opyt-JUnga.html.
Accessed
20 Mar 2020.