Improved 3D plotting

The generation of attractive and accurate three-dimensional views of meshes, particle orbits and calculated quantities was a challenge in creating 3D finite-element programs in our AMaze series. The standard approach to 3D graphics is to use a library like OpenGL where surfaces are approximated with the the minimum number of facets that provide a psychologically-satisfying sense of objects. This is the approach we used for the 3D modeling environment of the Geometer program. With a limited number of facets, the regeneration time is short enough for real-time animation effects.

In contrast, averaging techniques are not suitable for mesh and orbit plots in MetaMesh and the AMaze postprocessors. Generally users expect an exact representation of the physical system. It’s risky to allow the program to make decisions about discarding information. Therefore, we designed the programs to faithfully display all facets on region borders and all segments of charged particle orbits. The amount of information to define a surface may be 1-2 orders of magnitude larger than a typical OpenGL model. TheĀ  challenge is to produce effective 3D displays (with hidden surfaces and lighting effects) in a perceptually short time. In other words, graph regeneration of huge meshes should be a relatively painless experience for the user.

Over the years, we have steadily improved the appearance and operation of 3D technical plots in our programs. This month, we introduced bitmap transfer techniques that give a significant increase in speed. At the same time, the procedure ensures correct operation with Windows 7, even with advanced graphics themes. The picture shows the current 3D plot environment in MetaMesh. The mesh for the planar electron-beam gun includes 11 million elements.

MetaMesh screen: surface plot menu

MetaMesh screen: surface plot menu

? The user can move toward or away from the assembly (zoom and expand), walk around it toward the sides, top and bottom (rotations) or shift the view sidways or up-and-down (translations). The operations are controlled by the mouse with an active cursor (not shown in the picture) that changes shape according to the function. Individual regions may be displayed or hidden, and cutplanes may be added to view inside the assembly.

? Mouse actions are reflected in the animated orientation display at the top-right. To save time, the main plot is regenerated only when the mouse button is released. After a delay, the new view flashes to the screen. For standard meshes (~1 million elements), the regeneration delay is almost imperceptible. Depending on the number of regions displayed, the delay for huge meshes may be a second or two.

? The introduction of saved view parameter files further reduces time and effort with huge meshes. The user can restore a 3D view immediately, without repeating the operations necessary to construct it.

Saved views and the other 3D plot features will be included in the October update of the AMaze programs.

Comments are closed.