Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
4va(1)			     General Commands Manual			  4va(1)

NAME
     4va,  ctorus,  cutctorus, 4vdmake - 4D object tumbler for X-Windows and ob-
     ject generation programs

SYNOPSIS
     4va [{ -xy -xz -yz -xw -yw -zw } <angle> ] [-np] [-ns] [-nt]  [-cw]  [  -zd
     <dist>  ]	[ -wd <dist> ] [ -lc <color> ] [ -bc <color> ] [ -lw <width> ] [
     -d <display> ] [ -s <scale> ] [ -h | -? ] <object-file>

     ctorus <x-increments> <y-increments>
     cutctorus <x-increments> <y-increments>

     4vdmake <x-grid-size> <y-grid-size>

DESCRIPTION
     4va is a fourth dimensional visualization program for X-Windows.  It  takes
     as  input	a file describing an object in up to 4 dimensions and tumbles it
     in a window according to rotation values given on the command line.

   Options
     -xy, -xz, -yz, -xw, -yw, -zw <angle>
	    Specify the amount of rotation each cycle in each of  the  6  planes
	    (x-y,  x-z,  and  so on). The angle is given in degrees and appended
	    directly to the option, as in -xw4.5.  If any of these  options  are
	    set  on the command line, the defaults are cleared. The defaults are
	    -xz0.6, -xw0.6, and -yw0.45.

     -np    Tell 4va not to do perspective. Normally perspective is done on both
	    the z and w axes.

     -ns    Don't rescale the object in the window if  the  window  is	resized.
	    Normally,  if  the window is resized, the object is rescaled in pro-
	    portion to the new window size. Specifying -ns turns this off.

     -nt    Don't set a name for the title bar. On some  window  managers,  this
	    will suppress a title bar even being displayed on the window.

     -cw    Tell  4va  to  clear the window each cycle with a call to XClearWin-
	    dow() instead of drawing over  the	old  object  in  the  background
	    color. Using -cw is nice for larger objects, but for smaller objects
	    letting 4va draw over the lines is faster and doesn't flicker.

     -zd <dist>, -wd <dist>
	    Specify the viewer's distance, in pixels, along the z and w axes for
	    perspective  purposes.  Naturally  this doesn't have much meaning if
	    -np is specified. The default is 430.0. Place  the	number	directly
	    after the switch, as in -zd400.0.

     -lc <color>, -bc <color>
	    Specify the names of the foreground (line) and background colors, as
	    in	-lc  LightGreen.   The	defaults  are  black background with red
	    lines.

     -lw <width>
	    Specify the width of the object's lines, in pixels. The default is a
	    width of 0, which is the hardware-defined fastest line.  Example  is
	    -lw5.

     -d <display>
	    Specify  the  display name. 4va first checks the -d switch, then the
	    DISPLAY environment variable, then	then  defaults	to  the  display
	    unix:0.

     -s <scale>
	    Specify  the  scaling factor for all four dimensions, as in -s150.0.
	    The default is 200.0.

     -h, -?
	    Get a listing of 4va's options.

   Ctorus, cutctorus, and 4vdmake options
     These three programs are object file generators for 4va.  Ctorus  generates
     a	Clifford  Torus with the densities named. For example, ctorus 20 20 will
     generate a Clifford Torus file with 20 increments around each  of	the  two
     sets of circles defining the torus (the x-y set and the z-w set).

     Cutctorus	is the same as ctorus, except that all of the circles in one di-
     rection are invisible, making the torus easier to see.

     4vdmake is a "customizable" object generation program that produces objects
     in three dimensions. The program generates a grid of points  and  lines  on
     the  x and y plane and applies to them a function (defined in the code) for
     the z value of each coordinate. This is a quick hack to let 4va display  3D
     functions.  It  can  easily  be modified to generate 4D functions.  4vdmake
     fits the grid (with the density on the x and y axes given	on  the  command
     line) into a -1 to 1 square on the x and y axes.

   Object files
     Object files (usually with the extension .4vd) have the following format:

	    p={ number-of-points }

	    <points...>

	    l={ number-of-lines }

	    <lines...>

	    n=name-of-object

     For example, a simple object file for a single line might look like

	    p={2}
	    1.0 1.0 1.0 1.0
	    -1.0 -1.0 -1.0 -1.0
	    l={1}
	    0 1
	    n=StupidLine

     If  the  number-of-points	and  number-of-lines  do not match the number of
     points and lines in their sections, 4va will read the incorrect  amount  of
     data  from  the  object  file  and will get confused.  As you can see, each
     point specifies the x, y, z, and w coordinates as	floating-point	numbers.
     If  you're  only  creating  a 3D object, for example, you can set all the w
     values to 0.0. Each line specifies the points between which  the  line  ex-
     tends.  In  the above example, we have one line between point 0 and point 1
     (notice that numbering starts with 0).

NOTES
     4va allocates memory for objects dynamically. If 4va runs out of memory  it
     will exit with a return code of -1 and print a "malloc" error message.

     4va  does not check that the object file that it's reading is well-behaved.
     If your object file is corrupt, 4va may hang.

     4va has worked on every system I've tried it on; it's basic enough that  it
     should port to your machine. If you have problems, let me know.

AUTHOR
     Matt  Welsh  (welsh@odin.ncssm.edu). Please send me any questions, bugs, or
     suggestions.

				      X11R4				  4va(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=4va&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help