1Rout(3) User Contributed Perl Documentation Rout(3)
2
3
4
6 PDL::Graphics::TriD::Rout - Helper routines for Three-dimensional graphics
7
9 This module is for miscellaneous PP-defined utility routines for the
10 PDL::Graphics::TriD module. Currently, there are
11
13 combcoords
14 Signature: (x(); y(); z();
15 float [o]coords(tri=3);)
16
17 Combine three coordinates into a single piddle.
18
19 Combine x, y and z to a single piddle the first dimension of which is
20 3. This routine does dataflow automatically.
21
22 combcoords does not process bad values. It will set the bad-value flag
23 of all output piddles if the flag is set for any of the input piddles.
24
25 repulse
26 Signature: (coords(nc,np);
27 [o]vecs(nc,np);
28 int [t]links(np);;
29 double boxsize;
30 int dmult;
31 double a;
32 double b;
33 double c;
34 double d;
35 )
36
37 Repulsive potential for molecule-like constructs.
38
39 "repulse" uses a hash table of cubes to quickly calculate a repulsive
40 force that vanishes at infinity for many objects. For use by the module
41 PDL::Graphics::TriD::MathGraph. For definition of the potential, see
42 the actual function.
43
44 repulse does not process bad values. It will set the bad-value flag of
45 all output piddles if the flag is set for any of the input piddles.
46
47 attract
48 Signature: (coords(nc,np);
49 int from(nl);
50 int to(nl);
51 strength(nl);
52 [o]vecs(nc,np);;
53 double m;
54 double ms;
55 )
56
57 Attractive potential for molecule-like constructs.
58
59 "attract" is used to calculate an attractive force for many objects, of
60 which some attract each other (in a way like molecular bonds). For use
61 by the module PDL::Graphics::TriD::MathGraph. For definition of the
62 potential, see the actual function.
63
64 attract does not process bad values. It will set the bad-value flag of
65 all output piddles if the flag is set for any of the input piddles.
66
67 vrmlcoordsvert
68 Signature: (vertices(n=3); char* space; char* fd)
69
70 info not available
71
72 vrmlcoordsvert does not process bad values. It will set the bad-value
73 flag of all output piddles if the flag is set for any of the input
74 piddles.
75
76 contour_segments
77 This is the interface for the pp routine contour_segments_internal - it
78 takes 3 piddles as input
79
80 $c is a contour value (or a list of contour values)
81
82 $data is an [m,n] array of values at each point
83
84 $points is a list of [3,m,n] points, it should be a grid monotonically
85 increasing with m and n.
86
87 contour_segments returns a reference to a Perl array of line segments
88 associated with each value of $c. It does not (yet) handle missing
89 data values.
90
91 Algorthym
92 The data array represents samples of some field observed on the
93 surface described by points. For each contour value we look for
94 intersections on the line segments joining points of the data.
95 When an intersection is found we look to the adjoining line
96 segments for the other end(s) of the line segment(s). So suppose
97 we find an intersection on an x-segment. We first look down to the
98 left y-segment, then to the right y-segment and finally across to
99 the next x-segment. Once we find one in a box (two on a point) we
100 can quit because there can only be one. After we are done with a
101 given x-segment, we look to the leftover possibilities for the
102 adjoining y-segment. Thus the contours are built as a collection
103 of line segments rather than a set of closed polygons.
104
106 Copyright (C) 2000 James P. Edwards Copyright (C) 1997 Tuomas J. Lukka.
107 All rights reserved. There is no warranty. You are allowed to
108 redistribute this software / documentation under certain conditions.
109 For details, see the file COPYING in the PDL distribution. If this file
110 is separated from the PDL distribution, the copyright notice should be
111 included in the file.
112
113
114
115perl v5.12.3 2011-03-31 Rout(3)