5.9. Miscellaneous¶
5.9.1. Curve from Abbe Number¶
In many cases, only the refractive index and the Abbe number are known or provided for a material. To simulate such materials, a wavelength-dependent model first needs to be established. While there are countless potential curves that produce the same parameters, it is anticipated that real materials with the same index and Abbe number exhibit only slight variations in the visible region, where these parameters are provided.
We assume a model of the form:
where \(d=0.014\, \mu\text{m}^2\) serves as a compromise between the Cauchy (\(d=0\)) and the Herzberger (\(d=0.028\,\mu\text{m}^2\)) models.
Given \(n_\text{s}:=n(\lambda_\text{s}),~n_\text{c}:=n(\lambda_\text{c}),~n_\text{l}:=n(\lambda_\text{l})\) and the Abbe number equation in (5.193), one can solve for \(A,~B\):
Parameters \(V\), \(n_\text{c}\) and the spectral lines \(\lambda_\text{s},~\lambda_\text{c},~\lambda_\text{l}\) are provided by the user.
5.9.2. TiltedSurface Equation¶
With the quantities:
and the point normal equation for a plane:
which is equivalent to:
Everything be rearranged to yield the surface function for \(n_z \neq 0\):
5.9.3. Flipping and Rotation¶
Flipping a surface is implemented as a 180-degree rotation around the x-axis. This transformation is equivalent to negating its relative shape \(z_r\) with respect to an offset \(z_0\) and mirroring the y-component: \(z_0 + z_r(x, y) \Rightarrow z_0 - z(x, -y)\). For a surface with rotational symmetry, this simplifies to \(z_0 + z_r(r) \Rightarrow z_0 - z(r)\). Rotation is achieved by altering the accessing coordinates through a rotation of the coordinate system:
where \(r = \sqrt{(x-x_0)^2 + (y-y_0)^2}\). Here, \(x_0\) and \(y_0\) are the rotation center coordinates, and \(\alpha\) is the rotation angle.
By simply adjusting the value of the rotation angle, the surface values can be rotated without actually rotating the surface object.
5.9.4. Equal Area Radial Sampling of Ring and Circle¶
An area element of a circle in polar coordinates can be represented as:
\(\text{d}\phi\) can be rewritten as a circle segment:
with \(N\) being the number of segments. Let us define a function \(r(u)\) which provides radial values, and its derivative outputs radial spacing values.
For uniformly sampled data, \(\text{d}A\) must remain constant concerning a uniform variable \(u\). This requirement corresponds to the condition \(\frac{\text{d}A}{\text{d}u} = 0\).
The solutions to this second-order, nonlinear differential equation take the form:
For convenience, we set the constants to \(c_1 = 0\) and \(c_2=1\). To obtain output values in the range \([r_i, ~R]\), the corresponding input values are \([r^2_i, ~R^2]\). By treating \(r\) and \(u\) as random variables, we arrive at:
The polar angle is uniformly spaced
Resulting 3D positions are then
Circle sampling is implemented as a ring with \(r_\text{i} = 0\). Related: [1].
Due to artifacts are different sampling technique is employed in optrace, as outlined in Section 5.1.6.
References