wxGUI.Nviz.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. <h2>DESCRIPTION</h2>
  2. Note: <b>wxNviz is currently under development. Not
  3. all planned functionality is already implemented.</b>
  4. <p>
  5. <b>wxNviz</b> is a <em><a href="wxGUI.html">wxGUI</a></em> <b>3D view
  6. mode</b> which allows users to realistically render multiple
  7. <em>surfaces</em> (raster data) in a 3D space, optionally using
  8. thematic coloring, draping 2D <em>vector</em> data over the surfaces,
  9. displaying 3D vector data in the space, and visualization
  10. of <em>volume</em> data (3D raster data).
  11. <p>
  12. To start the wxGUI 3D view mode, choose '3D view' from the map
  13. toolbar. You can switch between 2D and 3D view. The region in
  14. 3D view is updated according to displayed region in 2D view.
  15. <p>
  16. wxNviz is emphasized on the ease and speed of viewer positioning and
  17. provided flexibility for using a wide range of data. A low resolution
  18. surface or wire grid (optional) provides real-time viewer positioning
  19. capabilities. Coarse and fine resolution controls allow the user to
  20. further refine drawing speed and detail as needed. Continuous scaling
  21. of elevation provides the ability to use various data types for the
  22. vertical dimension.
  23. <p>
  24. For each session of wxNviz, you might want the same set of 2D/3D
  25. raster and vector data, view parameters, or other attributes. For
  26. consistency between sessions, you can store this information in the
  27. GRASS <em>workspace</em> file (gxw). Workspace contains information to
  28. restore "state" of the system in 2D and if wxNviz is enabled also in
  29. the 3D display mode.
  30. <h2>3D View Toolbar</h2>
  31. <center>
  32. <br><img src="wxGUI_nviz_toolbar.jpg" border="1"><br><br>
  33. </center>
  34. <dl>
  35. <dt><img src="icons/3d-view.png">&nbsp;
  36. <em>Switch to view page</em></dt>
  37. <dd>Switch 3D Layer Manager Toolbox's page to the <b>view</b>
  38. control page.</dd>
  39. <dt><img src="icons/3d-raster.png">&nbsp;
  40. <em>Switch to surface page</em></dt>
  41. <dd>Switch 3D Layer Manager Toolbox's page to the <b>surface</b>
  42. control page (data properties).</dd>
  43. <dt><img src="icons/3d-vector.png">&nbsp;
  44. <em>Switch to vector page</em></dt>
  45. <dd>Switch 3D Layer Manager Toolbox's page to the <b>vector</b>
  46. control page (data properties).</dd>
  47. <dt><img src="icons/3d-volume.png">&nbsp;
  48. <em>Switch to volume page</em></dt>
  49. <dd>Switch 3D Layer Manager Toolbox's page to the <b>volume</b>
  50. control page (data properties).</dd>
  51. <dt><img src="icons/3d-light.png">&nbsp;
  52. <em>Switch to light page</em></dt>
  53. <dd>Switch 3D Layer Manager Toolbox's page to the <b>light</b>
  54. control page (appearance).</dd>
  55. <dt><img src="icons/3d-fringe.png">&nbsp;
  56. <em>Switch to fringe page</em></dt>
  57. <dd>Switch 3D Layer Manager Toolbox's page to the <b>fringe</b>
  58. control page (appearance).</dd>
  59. <dt><img src="icons/settings.png">&nbsp;
  60. <em>Show 3D view mode settings</em></dt>
  61. <dd>Show dialog with settings for wxGUI 3D view mode. The user
  62. settings can be stored in wxGUI settings file.</dd>
  63. <dt><img src="icons/help.png">&nbsp;
  64. <em>Show help</em></dt>
  65. <dd>Show this help.</dd>
  66. <dt><img src="icons/quit.png">&nbsp;
  67. <em>Quit</em></dt>
  68. <dd>Quit 3D view mode and switch map display to the 2D view
  69. mode.</dd>
  70. </dl>
  71. <h2>3D View Layer Manager Toolbox</h2>
  72. The 3D view toolbox is integrated in the Layer Manager. The toolbox
  73. has several tabs:
  74. <ul>
  75. <li><b>View</b> for view controlling,</li>
  76. <li><b>Data</b> for data properties,</li>
  77. <li><b>Appearance</b> for appearance settings (lighting, fringes, ...).</li>
  78. <li><b>Analysis</b> for various data analyses (only cutting planes so far).</li>
  79. </ul>
  80. <h3>View</h3>
  81. You can use this panel to set the <em>position, direction, and
  82. perspective</em> of the view. The position box shows a puck with a
  83. direction line pointing to the center. The direction line indicates
  84. the look direction (azimuth). You click and drag the puck to change
  85. the current eye position. Another way to change eye position is
  86. to press the buttons around the position box representing cardinal
  87. and ordinal directions.
  88. <p>
  89. There are four other buttons for view control in the bottom of this panel
  90. (following label <em>Look:</em>):
  91. <ul>
  92. <li><em>here</em> requires you to click on Map Display Window to determine
  93. the point to look at.</li>
  94. <li><em>center</em> changes the point you are looking at to the center.</li>
  95. <li><em>top</em> moves the current eye position above the map center.</li>
  96. <li><em>reset</em> returns all current view settings to their default values.</li>
  97. </ul>
  98. <center>
  99. <br><img src="wxGUI_nviz_tools_view.jpg" border="1"><br><br>
  100. </center>
  101. You can adjust the viewer's height above the scene, perspective and
  102. twist value to rotate the scene about the horizontal axis. An angle of
  103. 0 is flat. The scene rotates between -90 and 90 degrees.
  104. <p>
  105. You can also adjusts the vertical exaggeration of the surface. As an
  106. example, if the easting and northing are in meters and the elevation
  107. in feet, a vertical exaggeration of 0.305 would produce a true
  108. (unexaggerated) surface.
  109. <p>
  110. View parameters can be controlled by sliders or edited directly in text box.
  111. It's possible to enter values which are out of slider's range (and it will
  112. adjust then).
  113. <h3>Data properties</h3>
  114. This tab allows to control parameters related to map layers. It consists
  115. of four collapsible panels - <em>Surface</em>, <em>Constant surface</em>,
  116. <em>Vector</em> and <em>Volume</em>.
  117. <h4>Surface</h4>
  118. Each active raster map layer from the current layer tree is displayed
  119. as surface in the 3D space. This panel controls how loaded surfaces are drawn.
  120. To change parameters of a surface, it must be selected in the very top part of the
  121. panel.
  122. <p>
  123. The top half of the panel has drawing style options.
  124. Surface can be drawn as a wire mesh or using filled polygons (most
  125. realistic). You can set draw <b>mode</b> to <em>coarse</em> (fast
  126. display mode), <em>fine</em> (draws surface as filled polygons with
  127. fine resolution) or <em>both</em> (which combines coarse and fine
  128. mode). Additionally set coarse <b>style</b> to <em>wire</em> to draw
  129. the surface as wire mesh (you can also choose color of the wire)
  130. or <em>surface</em> to draw the surface using coarse resolution filled
  131. polygons. This is a low resolution version of the polygon surface
  132. style.
  133. E.g. surface is drawn as a wire mesh if you set <b>mode</b>
  134. to <em>coarse</em> and <b>style</b> to <em>wire</em>. Note that it
  135. differs from the mesh drawn in fast display mode because hidden lines
  136. are not drawn. To draw the surface using filled polygons, but with
  137. wire mesh draped over it, choose <b>mode</b> <em>both</em>
  138. and <b>style</b> <em>wire</em>.
  139. Beside mode and style you can also choose style of <b>shading</b> used
  140. for the surface. <em>Gouraud</em> style draws the surfaces with a
  141. smooth shading to blend individual cell colors together, <em>flat</em>
  142. draws the surfaces with flat shading with one color for every two
  143. cells. The surface appears faceted.
  144. <p>
  145. To set given draw settings for all loaded surfaces press button "Set to all".
  146. <p>
  147. The bottom half of the panel has options to set, unset or modify attributes
  148. of the current surface. Separate raster data or constants can be
  149. used for various attributes of the surface:
  150. <ul>
  151. <li><b>color</b> - raster map or constant color to drape over the current
  152. surface. This option is useful for draping imagery such as aerial
  153. photography over a DEM.</li>
  154. <li><b>mask</b> - raster map that controls the areas displayed from
  155. the current surface.</li>
  156. <li><b>transparency</b> - raster map or constant value that controls
  157. the transparency of the current surface. The default is completely
  158. opaque. Range from 0 (opaque) to 100 (transparent).</li>
  159. <li><b>shininess</b> - raster map or constant value that controls
  160. the shininess (reflectivity) of the current surface. Range from 0 to
  161. 100.</li>
  162. </ul>
  163. <p>
  164. In the very bottom part of the panel position of surface can be set.
  165. To move the surface right (looking from the south) choose <em>X</em> axis
  166. and set some positive value. To reset the surface position press
  167. <em>Reset</em> button.
  168. <center>
  169. <br><img src="wxGUI_nviz_tools_surface.jpg" border="1"><br><br>
  170. </center>
  171. <h4>Constant surface</h4>
  172. It is possible to add constant surface and set its properties like
  173. fine resolution, value (height), color and transparency. It behaves
  174. similarly to surface but it has less options.
  175. <h4>Vector</h4>
  176. 2D vector data can be draped on the selected surfaces with various
  177. markers to represent point data; you can use attribute of vector
  178. features to determine size, color, shape of glyph.
  179. 3D vector data including volumes (closed group of faces with one
  180. kernel inside) is also supported.
  181. This panel controls how loaded 2D or 3D vector data are drawn.
  182. <p>
  183. You can define the width (in pixels) of the line features, the color
  184. used for lines or point markers.
  185. <p>
  186. If vector map is 2D you can display vector features as flat at a
  187. specified elevation or drape it over a surface(s) at a specified
  188. height. Use the height control to set the flat elevation or the drape
  189. height above the surface(s). In case of multiple surfaces it is possible
  190. to specify which surfaces is the vector map draped over.
  191. <p>
  192. For display purposes, it is better to set the height slightly above
  193. the surface. If the height is set at zero, portions of the vector may
  194. disappear into the surface(s).
  195. <p>
  196. For 2D/3D vector points you can also set the size of the markers.
  197. <!-- and the width (in pixels) of the line used to draw the point markers (only
  198. applies to wire-frame markers). -->
  199. Currently are implemented these markers:
  200. <ul>
  201. <li><b>x</b> sets the current points markers to a 2D "X",</li>
  202. <li><b>sphere</b> - solid 3D sphere,</li>
  203. <li><b>diamond</b> - solid 3D diamond,</li>
  204. <li><b>cube</b> - solid 3D cube,</li>
  205. <li><b>box</b> - hollow 3D cube,</li>
  206. <li><b>gyroscope</b> - hollow 3D sphere,</li>
  207. <li><b>asterisk</b> - 3D line-star.</li>
  208. </ul>
  209. <p>
  210. Thematic mapping can be used to determine marker color and size
  211. (and line color and width).
  212. <center>
  213. <br><img src="wxGUI_nviz_tools_vector.jpg" border="1"><br><br>
  214. </center>
  215. <h4>Volume</h4>
  216. Volumes (3D raster maps) can be displayed either as isosurfaces or slices.
  217. Similarly to surface panel you can define draw <b>shading</b>
  218. - <em>gouraud</em> (draws the volumes with a smooth shading to blend
  219. individual cell colors together) and <em>flat</em> (draws the volumes
  220. with flat shading with one color for every two cells. The volume
  221. appears faceted). As mentioned above currently are supported two
  222. visualization modes:
  223. <ul>
  224. <li><b>isosurface</b> - the levels of values for drawing the
  225. volume(s) as isosurfaces,</li>
  226. <li>and <b>slice</b> - drawing the volume
  227. as cross-sections.</li>
  228. </ul>
  229. <p>
  230. The middle part of the panel has controls to add, delete, move up/down selected
  231. isosurface or slice. The bottom part differs for isosurface and slice.
  232. When choosing isosurface, this part the of panel has options to set, unset
  233. or modify attributes of the current isosurface.
  234. Various attributes of the isosurface can be defined, similarly to surface
  235. attributes:
  236. <ul>
  237. <li><b>isosurface value</b> - reference isosurface value (height in map
  238. units).</li>
  239. <li><b>color</b> - raster map or constant color to drape over the
  240. current volume.</li>
  241. <li><b>mask</b> - raster map that controls the areas displayed from
  242. the current volume.</li>
  243. <li><b>transparency</b> - raster map or constant value that controls
  244. the transparency of the current volume. The default is completely
  245. opaque. Range from 0 (opaque) to 100 (transparent).</li>
  246. <li><b>shininess</b> - raster map or constant value that controls
  247. the shininess (reflectivity) of the current volume. Range from 0 to
  248. 100.</li>
  249. </ul>
  250. In case of volume slice the bottom part of the panel controls the slice
  251. attributes (which axis is slice parallel to, position of slice edges,
  252. transparency). Press button <em>Reset</em> to reset slice position
  253. attributes.
  254. <p>
  255. Volumes can be moved the same way like surfaces do.
  256. <center>
  257. <br><img src="wxGUI_nviz_tools_volume.jpg" border="1"><br><br>
  258. </center>
  259. <h3>Analysis</h3>
  260. <em>Analysis</em> tab contains <em>Cutting planes</em> panel.
  261. <h4>Cutting planes</h4>
  262. Cutting planes allow to cut surfaces along a plane. You can switch
  263. between six planes; to disable cutting planes switch to <em>None</em>.
  264. Initially the plane is vertical, you can change it to horizontal by setting
  265. <em>tilt</em> 90 degrees. The <em>X</em> and <em>Y</em> values specify
  266. the rotation center of plane. You can see better what <em>X</em> and <em>Y</em>
  267. do when changing <em>rotation</em>.
  268. <em>Height</em> parameter has sense only when changing
  269. <em>tilt</em> too. Press button <em>Reset</em> to reset current cutting plane.
  270. <p>
  271. In case of multiple surfaces you can visualize the cutting plane by
  272. <em>Shading</em>. Shading is visible only when more than one surface
  273. is loaded and these surfaces must have the same fine resolution set.
  274. <h3>Appearance</h3>
  275. Appearance tab consists of three collapsible panels:
  276. <ul>
  277. <li><em>Lighting</em> for adjusting light source</li>
  278. <li><em>Fringe</em> for drawing fringes
  279. <li><em>Decorations</em> to display north arrow and scale bar</li>
  280. </ul>
  281. <p>
  282. The <em>lighting</em> panel enables to change the position of light
  283. source, light color, brightness and ambient. Light position is controlled
  284. similarly to eye position. If option <em>Show light model</em> is enabled
  285. light model is displayed to visualize the light settings.
  286. <center>
  287. <br><img src="wxGUI_nviz_tools_light.jpg" border="1"><br><br>
  288. </center>
  289. <p>
  290. The <em>Fringe</em> panel allows to draw fringes in different directions
  291. (North & East, South & East, South & West, North & West). It is possible
  292. to set fringe color and height of the bottom edge.
  293. <p>
  294. The <em>Decorations</em> panel enables to display north arrow and simple
  295. scale bar. North arrow and scale bar length is determined in map units.
  296. You can display more than one scale bar.
  297. <h2>Settings</h2>
  298. This panel has controls which allows user to set default surface,
  299. vector and volume data attributes. You can also modify default view
  300. parameters, or to set the background color of the Map Display Window
  301. (the default color is white).
  302. <h2>To be implement</h2>
  303. <ul>
  304. <li>Improve intuitive navigation (mouse, fly mode)</li>
  305. <li>Animation capabilities</li>
  306. <li>Labels, decoration, etc.</li>
  307. <li>Surface - mask by zero/elevation, more interactive positioning</li>
  308. <li>Vector points - implement display mode flat/surface for 2D points</li>
  309. <li>...</li>
  310. </ul>
  311. <p>
  312. <b>Please note that wxNviz is under active development and
  313. distributed as &quot;Experimental Prototype&quot;.</b>
  314. <h2>SEE ALSO</h2>
  315. <em>
  316. <a href="wxGUI.html">wxGUI</a>
  317. </em>
  318. <p>
  319. Other wxGUI components:<br>
  320. <em>
  321. <a href="wxGUI.Vector_Digitizer.html">Vector Digitizer</a><br>
  322. <a href="wxGUI.Attribute_Table_Manager.html">Attribute Table Manager</a><br>
  323. <a href="wxGUI.Modeler.html">Graphical Modeler</a><br>
  324. <a href="wxGUI.GCP_Manager.html">Manage Ground Control Points</a><br>
  325. <a href="wxGUI.PsMap.html">Hardcopy Map Output Utility</a><br>
  326. </em>
  327. <p>
  328. See also <a href="http://grass.osgeo.org/wiki/WxNVIZ">wiki</a> page.
  329. <br><br>
  330. Command-line module <em><a href="nviz_cmd.html">nviz_cmd</a></em>.
  331. <br><br>
  332. Original <a href="nviz.html">TCL/TK-based</a> Nviz.
  333. <h2>AUTHORS</h2>
  334. <a href="http://geo.fsv.cvut.cz/gwiki/Landa">Martin
  335. Landa</a>, <a href="http://grass.osgeo.org/wiki/WxNviz_GSoC_2008">Google
  336. Summer of Code 2008</a> (mentor: Michael Barton)
  337. and <a href="http://grass.osgeo.org/wiki/WxNviz_GSoC_2010">Google
  338. Summer of Code 2010</a> (mentor: Helena Mitasova)<br>
  339. Anna Kratochvilova, <a href="http://grass.osgeo.org/wiki/WxNviz_GSoC_2011">Google
  340. Summer of Code 2011</a> (mentor: Martin Landa)
  341. <p>
  342. <i>$Date$</i>