Varkon Geometry Tutorial: Quality Analysis of Surfaces 2006-04-23

Quality Analysis of Surfaces

Please refer to the Varkon Programmers Manual for a description of the function EVAL
(Functions and procedures by category->Geometrical routines->eval)

Surface quality requirements for a product

Aircraft and ship surfaces

There are aerodynamic/hydrodynamic requirements. For instance wings are often constructed from 2D profile curves x= f(x) where 0 <= x <= 100. These curves are scaled, rotated relative each other and translated.

Car surfaces

The shapes of cars are created by stylists. The surfaces are first normally defined as physical (clay) models, and the quality of these surfaces is analyzed with reflection lines.

Optical surfaces

For car wind shields, aircraft hoods, etc. the real world objects must not look too distorted for the driver or the pilot.

Manufacturing requirements

Aerodynamic/hydrodynamic, style and optical requirements can never fully be met. It would be impossible and/or very expensive to manufacture the product.

Surface quality for a CAD model

Calculation requirements

Functions in CAD systems assume a certain quality of the surfaces. Almost only numerical calculations are used in the system. Calculation of the intersect point between a line and a surface is an iterative process. There is a starting point that is moved in small steps until the intersect point is found. The directions for the movements are defined from calculations based on surface normals and the variation of the surface normals. Calculations will fail, or results will be bad if there are peculiarities in the surface.

Surface quality as mathematical requirements

One mathematical requirement “valid” for all the above requirements is that the variation of the surface normals shall be smooth. Mathematically this means the curvature of the surface, which is something that is easy to calculate and it is not “direction dependent”. Analysis of surface normals can for instance be made with silhouette curves, but a (viewing) direction must be defined for such a calculation.

How can surface quality be checked in Varkon?

Curvature can be calculated (see sample) and there is a function that creates silhouette curves (CUR_SIL).

For all other requirements can functions in Varkon be programmed. I have for instance programmed function that shows the differences to wing profile curves, and I have developed an application that shows how the pilot sees real world objects through a glass hood.

Warnings about bad surface quality

All Varkon surface creation functions give the user a warning when the variation of the surface normal is bad.

This function needs to be improved! I have seen several surfaces where there are no warnings, but where there are problems to make calculations.

How shall surfaces be modified the analysis results are bad?

Surface input data for CAD surfaces are not in the form of curvature and/or surface normal variation functions. (I have made experiments with such input data and one day it may be possible to give such input data for surfaces in Varkon, but it is not yet possible ..)

What the user needs to do is to change points and/or a vectors until the quality is satisfactory. With surface definition experience and “thinking” this can be done quite systematically, but if done “manually” it often requires a lot of time.

Making a set of parallel planar intersections can be very helpful. The distances between the sections shall vary smoothly. The picture shows a surface that not is perfect

Set of planar sections

Please note that U isoparameter curves in a SUR_CONIC surface are planar curves. The picture actually shows such curves.

Varkon’s Generic Model can be used to let the computer systematically change values until some requirement is met. I intend to make such a sample later.


Maximum principal curvature, minimum principal curvature and Gaussian curvature are in many CAD systems used for the analysis of surface quality. Color coding is normally used for the visualization of the curvature values on the surface: Curvature intervals correspond to specific colors.

The maximum principal curvature (kmin) and minimum principal curvature (kmax) also have directions. The two corresponding circles with maximum radius 1/kmin and minimum radius 1/kmax can be seen as two circles that approximate the surface in one point. The directions of these circles are perpendicular.

Surface quality can as an alternative also be analyzed with principal curvature directions. For a high quality surface shall the direction changes be smooth.

The picture shows the directions of the maximum circles in a point grid on a surface.

Minimum principal curvature R*3

The curvature directions can also be visualized in the parameter (U,V) plane of the surface.

Minimum principal curvature U,V

The quality is fairly good, but there is some problem near the end of surface.

Maximum principal curvature. Problem area

The sample function is based on the function EVAL that can calculate curvature and curvature directions on the surface (3D) and in the U,V plane (2D).

Please note that the EVAL function also can be used to calculate derivatives and curvature on curves.

There is a lot more to say about surface quality. Later on I will add text and additional samples.

Sample documentation

Sample code

Execution of sample:

Download MBS code, put in mbs directory of an application, compile, start a job, create part lofted_fuselage, create a coordinate system and create part s_kappa.