3D Data Visualization
You can represent some kinds of data as a three-dimensional graph. For example, certain mathematical functions can be visualized this way. So can some sets of physical measurements (e.g., height information from map data). Figure 1-21 shows an example.

Figure 17-31. 3D plot of data (Figure F-2)
To display data in this form, you need to write code that will
generate a mesh from the data. Let's look at an example that creates the
MeshGeometry3D shown in Figure 1-21 from a
two-dimensional array of floating-point numbers. To be able to display a
3D model, we will of course need a Viewport3D. Example 17-26 shows the XAML for a window
containing a Viewport3D with a camera
and some light sources.
Example 17-26. XAML to host 3D model
<Window x:Class="Generate3DMesh.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Generate3DMesh" Height="400" Width="400"> <Grid x:Name="mainGrid"> <Viewport3D x:Name="vp"> <Viewport3D.Camera> <PerspectiveCamera Position="5,4,6" LookDirection="−5,−3.75,−6" UpDirection="0,1,0" FieldOfView="10" /> </Viewport3D.Camera> <ModelVisual3D> <ModelVisual3D.Content> <Model3DGroup> <AmbientLight Color="#222" /> <DirectionalLight Color="#aaa" Direction="−1,−1,−1" /> <DirectionalLight Color="#aaa" Direction="1,−1,−1" /> </Model3DGroup> </ModelVisual3D.Content> <ModelVisual3D ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access