Navigation

Operators and Keywords

Function List:

C++ API

 s = vmesh (x, y, z [, options] ) - Visualize a 3D surface
 s = vmesh (z [, options] )

 Visualizes a 3D surface. Returns the VRML code.

 x : RxC or C  : X coordinates of the points on the surface
 y : RxC or R  : Y "                                      "
 z : RxC       : Z "                                      "

 s :   string  : The code

 If x and y are omitted, they are assumed to be linspace(-1,1,C or R).
 Points presenting one or more 'inf' or 'nan' coordinates are ignored.

 Options : (all options of vrml_surf may be used too)

 "col" , col  : 3      : RGB Color,                Default = [0.3,0.4,0.9]
             or 3x(R*C): Color of vertices (vrml colorPerVertex is TRUE).
             or 3x((R-1)*(C-1))
                       : Color of facets
             or 1      : Reflectivity (equivalent to [col,col,col] in RGB)
             or R x C  : Reflectivity of vertices
             or 1x(R*C)
             or (R-1)x(C-1)
             or (R-1)*(C-1)
                       : Reflectivity of facets.

        RGB and reflectivity values should be in the [0,1] interval.

 "checker", c : 1x2 : Color as a checker. If c(1) is positive, checker has
                      c(1) rows. If it is negative, each checker row is
                      c(1) facets high. c(2) does the same for columns.
             or 1x1 : Same as [c,c].

 "zgray"            : Color varies from black for lowest point to white
                      for highest.

 "zrb"              : Color varies from blue for lowest point to red for
                      highest.

 "zcol", zcol : Mx3 : Color is linearly interpolated between the RGB
                      values specified by the rows of zcol.

 "steps"            : Represent surface as a piecewise constant Z = f(X,Y)
                      function

 "bars"             : Represent surface as a bar plot
 "bwid"             : Bar width, relative to point separation. Default = 2/3

 "level", l   : 1xN : Display one or more horizontal translucent plane(s)

                        z == l(i)   (1 <= i <= length(l))
 
 "lcol", lc   : Nx3 : Color of the plane(s).          Default = [.7 .7 .7]
 "ltran",lt   : Nx1 : Transparency of the plane(s).   Default =        0.3
 "tex", texFile

 "normalize"  :       Normalize z to [-1,1]

 See also: vrml_surf(), vrml_faces(), demo("vmesh")

Demonstration 1

The following code

 % Test the vmesh and vrml_browse functions with the test_vmesh script
 R = 41; C = 26; 
 [x,y] = meshgrid (linspace (-8+eps,8+eps,C), linspace (-8+eps,8+eps,R));
 z = sin (sqrt (x.^2 + y.^2)) ./ (sqrt (x.^2 + y.^2));
 vmesh (z);
 printf ("Press a key.\n"); pause;
 
 ############## The same surface, with holes (NaN's) in it. ###############
 z(3,3) = nan;		# Bore a hole
  				# Bore more holes
 z(1+floor(rand(1,5+R*C/30)*R*C)) = nan;
 vmesh (z);
 printf ("Press a key.\n"); pause;

 ###### The same surface, with checkered stripes - 'checker' option ######
 vmesh (z,"checker",-[6,5]);
 printf ("Press a key.\n"); pause;
 
 ##### With z-dependent coloring - 'zrb', 'zgray' and'zcol' options. #####
 vmesh (z,"zrb");
 printf ("That's it!\n");

Produces the following output

cmd = freewrl        /tmp/octave_vrml_output.wrl 
Press a key.
cmd = freewrl        /tmp/octave_vrml_output.wrl 
Press a key.
cmd = freewrl        /tmp/octave_vrml_output.wrl 
Press a key.
cmd = freewrl        /tmp/octave_vrml_output.wrl 
That's it!

Package: vrml