TriD::VRML(3pm) User Contributed Perl Documentation TriD::VRML(3pm)NAME
PDL::Graphics::TriD::VRML -- TriD VRML backend
SYNOPSIS
BEGIN { $PDL::Graphics::TriD::device = "VRML"; }
use PDL::Graphics::TriD;
use PDL::LiteF;
# set some vrml parameters
my $set = tridsettings(); # get the defaults
$set->browser_com('netscape/unix');
$set->compress();
$set->file('/www-serv/vrml/dynamic_scene.wrl.gz');
line3d([$x,$y,$z]); # plot some lines and view the scene with a browser
DESCRIPTION
This module implements the VRML for PDL::Graphics::TriD (the generic 3D plotting interface for PDL). You can use this backend either (a)
for generating 3D graphics on your machine which can be directly viewed with a VRML browser or (b) generate dynamic VRML worlds to
distribute over the web.
With VRML, you can generate objects for everyone to see with e.g. Silicon Graphics' Cosmo Player. You can find out more about VRML at
"http://vrml.sgi.com/" or "http://www.vrml.org/"
BUGS
Probably incomplete/buggy implementation of some TriD features.
AUTHOR
Copyright (C) 1997, 1998 Christian Soeller (c.soeller@auckland.ac.nz). All rights reserved. There is no warranty. You are allowed to
redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this
file is separated from the PDL distribution, the copyright notice should be included in the file.
perl v5.14.2 2012-01-02 TriD::VRML(3pm)
Check Out this Related Man Page
Rout(3pm) User Contributed Perl Documentation Rout(3pm)NAME
PDL::Graphics::TriD::Rout - Helper routines for Three-dimensional graphics
DESCRIPTION
This module is for miscellaneous PP-defined utility routines for the PDL::Graphics::TriD module. Currently, there are
FUNCTIONS
combcoords
Signature: (x(); y(); z();
float [o]coords(tri=3);)
Combine three coordinates into a single piddle.
Combine x, y and z to a single piddle the first dimension of which is 3. This routine does dataflow automatically.
combcoords does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input
piddles.
repulse
Signature: (coords(nc,np);
[o]vecs(nc,np);
int [t]links(np);;
double boxsize;
int dmult;
double a;
double b;
double c;
double d;
)
Repulsive potential for molecule-like constructs.
"repulse" uses a hash table of cubes to quickly calculate a repulsive force that vanishes at infinity for many objects. For use by the
module PDL::Graphics::TriD::MathGraph. For definition of the potential, see the actual function.
repulse does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles.
attract
Signature: (coords(nc,np);
int from(nl);
int to(nl);
strength(nl);
[o]vecs(nc,np);;
double m;
double ms;
)
Attractive potential for molecule-like constructs.
"attract" is used to calculate an attractive force for many objects, of which some attract each other (in a way like molecular bonds). For
use by the module PDL::Graphics::TriD::MathGraph. For definition of the potential, see the actual function.
attract does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input piddles.
vrmlcoordsvert
Signature: (vertices(n=3); char* space; char* fd)
info not available
vrmlcoordsvert does not process bad values. It will set the bad-value flag of all output piddles if the flag is set for any of the input
piddles.
contour_segments
This is the interface for the pp routine contour_segments_internal - it takes 3 piddles as input
$c is a contour value (or a list of contour values)
$data is an [m,n] array of values at each point
$points is a list of [3,m,n] points, it should be a grid monotonically increasing with m and n.
contour_segments returns a reference to a Perl array of line segments associated with each value of $c. It does not (yet) handle missing
data values.
Algorthym
The data array represents samples of some field observed on the surface described by points. For each contour value we look for
intersections on the line segments joining points of the data. When an intersection is found we look to the adjoining line segments
for the other end(s) of the line segment(s). So suppose we find an intersection on an x-segment. We first look down to the left
y-segment, then to the right y-segment and finally across to the next x-segment. Once we find one in a box (two on a point) we can
quit because there can only be one. After we are done with a given x-segment, we look to the leftover possibilities for the adjoining
y-segment. Thus the contours are built as a collection of line segments rather than a set of closed polygons.
AUTHOR
Copyright (C) 2000 James P. Edwards Copyright (C) 1997 Tuomas J. Lukka. All rights reserved. There is no warranty. You are allowed to
redistribute this software / documentation under certain conditions. For details, see the file COPYING in the PDL distribution. If this
file is separated from the PDL distribution, the copyright notice should be included in the file.
perl v5.14.2 2012-05-30 Rout(3pm)