123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397 |
- <!-- meta page description: wxGUI 3D View Mode -->
- <!-- meta page index: wxGUI -->
- <h2>DESCRIPTION</h2>
- Note: <b>wxNviz is currently under development. Not
- all planned functionality is already implemented.</b>
- <p>
- <b>wxNviz</b> is a <em><a href="wxGUI.html">wxGUI</a></em> <b>3D view
- mode</b> which allows users to realistically render multiple
- <em>surfaces</em> (raster data) in a 3D space, optionally using
- thematic coloring, draping 2D <em>vector</em> data over the surfaces,
- displaying 3D vector data in the space, and visualization
- of <em>volume</em> data (3D raster data).
- <p>
- To start the wxGUI 3D view mode, choose '3D view' from the map
- toolbar. You can switch between 2D and 3D view. The region in
- 3D view is updated according to displayed region in 2D view.
- <p>
- wxNviz is emphasized on the ease and speed of viewer positioning and
- provided flexibility for using a wide range of data. A low resolution
- surface or wire grid (optional) provides real-time viewer positioning
- capabilities. Coarse and fine resolution controls allow the user to
- further refine drawing speed and detail as needed. Continuous scaling
- of elevation provides the ability to use various data types for the
- vertical dimension.
- <p>
- For each session of wxNviz, you might want the same set of 2D/3D
- raster and vector data, view parameters, or other attributes. For
- consistency between sessions, you can store this information in the
- GRASS <em>workspace</em> file (gxw). Workspace contains information to
- restore "state" of the system in 2D and if wxNviz is enabled also in
- the 3D display mode.
- <h2>3D View Toolbar</h2>
- <center>
- <br><img src="wxGUI_nviz_toolbar.jpg" border="1" alt="toolbar"><br><br>
- </center>
- <dl>
- <dt><img src="icons/script-save.png" alt="icon">
- <em>Generate command for m.nviz.image</em></dt>
- <dd>Generate command for m.nviz.image based on current state.</dd>
- <dt><img src="icons/settings.png" alt="icon">
- <em>Show 3D view mode settings</em></dt>
- <dd>Show dialog with settings for wxGUI 3D view mode. The user
- settings can be stored in wxGUI settings file.</dd>
- <dt><img src="icons/help.png" alt="icon">
- <em>Show help</em></dt>
- <dd>Show this help.</dd>
- </dl>
- <h2>3D View Layer Manager Toolbox</h2>
- The 3D view toolbox is integrated in the Layer Manager. The toolbox
- has several tabs:
- <ul>
- <li><b>View</b> for view controlling,</li>
- <li><b>Data</b> for data properties,</li>
- <li><b>Appearance</b> for appearance settings (lighting, fringes, ...).</li>
- <li><b>Analysis</b> for various data analyses (only cutting planes so far).</li>
- <li><b>Animation</b> for creating simple animations.</li>
- </ul>
- <h3>View</h3>
- You can use this panel to set the <em>position, direction, and
- perspective</em> of the view. The position box shows a puck with a
- direction line pointing to the center. The direction line indicates
- the look direction (azimuth). You click and drag the puck to change
- the current eye position. Another way to change eye position is
- to press the buttons around the position box representing cardinal
- and ordinal directions.
-
- <p>
- There are four other buttons for view control in the bottom of this panel
- (following label <em>Look:</em>):
- <ul>
- <li><em>here</em> requires you to click on Map Display Window to determine
- the point to look at.</li>
- <li><em>center</em> changes the point you are looking at to the center.</li>
- <li><em>top</em> moves the current eye position above the map center.</li>
- <li><em>reset</em> returns all current view settings to their default values.</li>
- </ul>
- <center>
- <br><img src="wxGUI_nviz_tools_view.jpg" border="1" alt="toolbox"><br><br>
- </center>
- You can adjust the viewer's height above the scene, perspective and
- twist value to rotate the scene about the horizontal axis. An angle of
- 0 is flat. The scene rotates between -90 and 90 degrees.
- <p>
- You can also adjusts the vertical exaggeration of the surface. As an
- example, if the easting and northing are in meters and the elevation
- in feet, a vertical exaggeration of 0.305 would produce a true
- (unexaggerated) surface.
- <p>
- View parameters can be controlled by sliders or edited directly in text box.
- It's possible to enter values which are out of slider's range (and it will
- adjust then).
- <h4>Fly-through mode</h4>
- View can be changed in fly-through mode (can be activated in Map Display toolbar),
- which enables to change the view smoothly and therefore it is suitable
- for creating animation (see below). To start flying, press left mouse button
- and hold it down to continue flying. Flight direction is controlled by mouse cursor
- position on screen. Flight speed can be increased/decreased stepwise by keys
- PageUp/PageDown, Home/End or Up/Down arrows.
- Speed is increased multiple times while Shift key is held down. Holding down
- Ctrl key switches flight mode in the way that position of viewpoint is
- changed (not the direction).
- <h3>Data properties</h3>
- This tab allows to control parameters related to map layers. It consists
- of four collapsible panels - <em>Surface</em>, <em>Constant surface</em>,
- <em>Vector</em> and <em>Volume</em>.
- <h4>Surface</h4>
- Each active raster map layer from the current layer tree is displayed
- as surface in the 3D space. This panel controls how loaded surfaces are drawn.
- To change parameters of a surface, it must be selected in the very top part of the
- panel.
- <p>
- The top half of the panel has drawing style options.
- Surface can be drawn as a wire mesh or using filled polygons (most
- realistic). You can set draw <b>mode</b> to <em>coarse</em> (fast
- display mode), <em>fine</em> (draws surface as filled polygons with
- fine resolution) or <em>both</em> (which combines coarse and fine
- mode). Additionally set coarse <b>style</b> to <em>wire</em> to draw
- the surface as wire mesh (you can also choose color of the wire)
- or <em>surface</em> to draw the surface using coarse resolution filled
- polygons. This is a low resolution version of the polygon surface
- style.
- E.g. surface is drawn as a wire mesh if you set <b>mode</b>
- to <em>coarse</em> and <b>style</b> to <em>wire</em>. Note that it
- differs from the mesh drawn in fast display mode because hidden lines
- are not drawn. To draw the surface using filled polygons, but with
- wire mesh draped over it, choose <b>mode</b> <em>both</em>
- and <b>style</b> <em>wire</em>.
- Beside mode and style you can also choose style of <b>shading</b> used
- for the surface. <em>Gouraud</em> style draws the surfaces with a
- smooth shading to blend individual cell colors together, <em>flat</em>
- draws the surfaces with flat shading with one color for every two
- cells. The surface appears faceted.
- <p>
- To set given draw settings for all loaded surfaces press button "Set to all".
- <p>
- The bottom half of the panel has options to set, unset or modify attributes
- of the current surface. Separate raster data or constants can be
- used for various attributes of the surface:
- <ul>
- <li><b>color</b> - raster map or constant color to drape over the current
- surface. This option is useful for draping imagery such as aerial
- photography over a DEM.</li>
- <li><b>mask</b> - raster map that controls the areas displayed from
- the current surface.</li>
- <li><b>transparency</b> - raster map or constant value that controls
- the transparency of the current surface. The default is completely
- opaque. Range from 0 (opaque) to 100 (transparent).</li>
- <li><b>shininess</b> - raster map or constant value that controls
- the shininess (reflectivity) of the current surface. Range from 0 to
- 100.</li>
- </ul>
- <p>
- In the very bottom part of the panel position of surface can be set.
- To move the surface right (looking from the south) choose <em>X</em> axis
- and set some positive value. To reset the surface position press
- <em>Reset</em> button.
- <center>
- <br><img src="wxGUI_nviz_tools_surface.jpg" border="1" alt="toolbox"><br><br>
- </center>
- <h4>Constant surface</h4>
- It is possible to add constant surface and set its properties like
- fine resolution, value (height), color and transparency. It behaves
- similarly to surface but it has less options.
- <h4>Vector</h4>
- 2D vector data can be draped on the selected surfaces with various
- markers to represent point data; you can use attribute of vector
- features to determine size, color, shape of glyph.
- 3D vector data including volumes (closed group of faces with one
- kernel inside) is also supported.
- This panel controls how loaded 2D or 3D vector data are drawn.
- <p>
- You can define the width (in pixels) of the line features, the color
- used for lines or point markers.
- <p>
- If vector map is 2D you can display vector features as flat at a
- specified elevation or drape it over a surface(s) at a specified
- height. Use the height control to set the flat elevation or the drape
- height above the surface(s). In case of multiple surfaces it is possible
- to specify which surfaces is the vector map draped over.
- <p>
- For display purposes, it is better to set the height slightly above
- the surface. If the height is set at zero, portions of the vector may
- disappear into the surface(s).
- <p>
- For 2D/3D vector points you can also set the size of the markers.
- <!-- and the width (in pixels) of the line used to draw the point markers (only
- applies to wire-frame markers). -->
- Currently are implemented these markers:
- <ul>
- <li><b>x</b> sets the current points markers to a 2D "X",</li>
- <li><b>sphere</b> - solid 3D sphere,</li>
- <li><b>diamond</b> - solid 3D diamond,</li>
- <li><b>cube</b> - solid 3D cube,</li>
- <li><b>box</b> - hollow 3D cube,</li>
- <li><b>gyroscope</b> - hollow 3D sphere,</li>
- <li><b>asterisk</b> - 3D line-star.</li>
- </ul>
-
- <p>
- Thematic mapping can be used to determine marker color and size
- (and line color and width).
- <center>
- <br><img src="wxGUI_nviz_tools_vector.jpg" border="1" alt="toolbox"><br><br>
- </center>
- <h4>Volume</h4>
- Volumes (3D raster maps) can be displayed either as isosurfaces or slices.
- Similarly to surface panel you can define draw <b>shading</b>
- - <em>gouraud</em> (draws the volumes with a smooth shading to blend
- individual cell colors together) and <em>flat</em> (draws the volumes
- with flat shading with one color for every two cells. The volume
- appears faceted). As mentioned above currently are supported two
- visualization modes:
- <ul>
- <li><b>isosurface</b> - the levels of values for drawing the
- volume(s) as isosurfaces,</li>
- <li>and <b>slice</b> - drawing the volume
- as cross-sections.</li>
- </ul>
- <p>
- The middle part of the panel has controls to add, delete, move up/down selected
- isosurface or slice. The bottom part differs for isosurface and slice.
- When choosing isosurface, this part the of panel has options to set, unset
- or modify attributes of the current isosurface.
- Various attributes of the isosurface can be defined, similarly to surface
- attributes:
- <ul>
- <li><b>isosurface value</b> - reference isosurface value (height in map
- units).</li>
- <li><b>color</b> - raster map or constant color to drape over the
- current volume.</li>
- <li><b>mask</b> - raster map that controls the areas displayed from
- the current volume.</li>
- <li><b>transparency</b> - raster map or constant value that controls
- the transparency of the current volume. The default is completely
- opaque. Range from 0 (opaque) to 100 (transparent).</li>
- <li><b>shininess</b> - raster map or constant value that controls
- the shininess (reflectivity) of the current volume. Range from 0 to
- 100.</li>
- </ul>
- In case of volume slice the bottom part of the panel controls the slice
- attributes (which axis is slice parallel to, position of slice edges,
- transparency). Press button <em>Reset</em> to reset slice position
- attributes.
- <p>
- Volumes can be moved the same way like surfaces do.
- <center>
- <br><img src="wxGUI_nviz_tools_volume.jpg" border="1" alt="toolbox"><br><br>
- </center>
- <h3>Analysis</h3>
- <em>Analysis</em> tab contains <em>Cutting planes</em> panel.
- <h4>Cutting planes</h4>
- Cutting planes allow to cut surfaces along a plane. You can switch
- between six planes; to disable cutting planes switch to <em>None</em>.
- Initially the plane is vertical, you can change it to horizontal by setting
- <em>tilt</em> 90 degrees. The <em>X</em> and <em>Y</em> values specify
- the rotation center of plane. You can see better what <em>X</em> and <em>Y</em>
- do when changing <em>rotation</em>.
- <em>Height</em> parameter has sense only when changing
- <em>tilt</em> too. Press button <em>Reset</em> to reset current cutting plane.
- <p>
- In case of multiple surfaces you can visualize the cutting plane by
- <em>Shading</em>. Shading is visible only when more than one surface
- is loaded and these surfaces must have the same fine resolution set.
- <h3>Appearance</h3>
- Appearance tab consists of three collapsible panels:
- <ul>
- <li><em>Lighting</em> for adjusting light source</li>
- <li><em>Fringe</em> for drawing fringes
- <li><em>Decorations</em> to display north arrow and scale bar</li>
- </ul>
- <p>
- The <em>lighting</em> panel enables to change the position of light
- source, light color, brightness and ambient. Light position is controlled
- similarly to eye position. If option <em>Show light model</em> is enabled
- light model is displayed to visualize the light settings.
- <center>
- <br><img src="wxGUI_nviz_tools_light.jpg" border="1" alt="toolbox"><br><br>
- </center>
- <p>
- The <em>Fringe</em> panel allows to draw fringes in different directions
- (North & East, South & East, South & West, North & West). It is possible
- to set fringe color and height of the bottom edge.
- <p>
- The <em>Decorations</em> panel enables to display north arrow and simple
- scale bar. North arrow and scale bar length is determined in map units.
- You can display more than one scale bar.
- <h3>Animation</h3>
- Animation panel enables to create a simple animation as a sequence of images.
- Press 'Record' button and start changing the view. Views are
- recorded in given interval (FPS - Frames Per Second). After recording,
- the animation can be replayed. To save the animation, fill in the
- directory and file prefix, choose image format (PPM or TIF) and then
- press 'Save'. Now wait until the last image is generated.
- It is recommended to record animations using fly-through mode to achieve
- smooth motion.
- <h2>Settings</h2>
- This panel has controls which allows user to set default surface,
- vector and volume data attributes. You can also modify default view
- parameters, or to set the background color of the Map Display Window
- (the default color is white).
- <h2>To be implement</h2>
- <ul>
- <li>Labels, decoration, etc. (Implemented, but not fully functional)</li>
- <li>Surface - mask by zero/elevation, more interactive positioning</li>
- <li>Vector points - implement display mode flat/surface for 2D points</li>
- <li>...</li>
- </ul>
- <p>
- <b>Please note that wxNviz is under active development and
- distributed as "Experimental Prototype".</b>
- <h2>SEE ALSO</h2>
- <em>
- <a href="wxGUI.html">wxGUI</a><br>
- <a href="wxGUI.Components.html">wxGUI components</a>
- </em>
- <p>
- See also <a href="http://grass.osgeo.org/wiki/WxNVIZ">wiki</a> page
- (especially various <a href="http://grass.osgeo.org/wiki/WxNVIZ#Video_tutorials">video
- tutorials</a>).
- <br><br>
- Command-line module <em><a href="m.nviz.image.html">m.nviz.image</a></em>.
- <br><br>
- <h2>AUTHORS</h2>
- <a href="http://geo.fsv.cvut.cz/gwiki/Landa">Martin
- Landa</a>, <a href="http://grass.osgeo.org/wiki/WxNviz_GSoC_2008">Google
- Summer of Code 2008</a> (mentor: Michael Barton)
- and <a href="http://grass.osgeo.org/wiki/WxNviz_GSoC_2010">Google
- Summer of Code 2010</a> (mentor: Helena Mitasova)<br>
- Anna Kratochvilova, <a href="http://grass.osgeo.org/wiki/WxNviz_GSoC_2011">Google
- Summer of Code 2011</a> (mentor: Martin Landa)
- <p>
- <i>$Date$</i>
|