
The functions of the program
1 norm_vect := proc(v)
In Parameter :
Out Parameter :
Function :
- return the norm of a vector or a list.
2 tan_vect := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return a non unit tangent vector of the vector v.
- If two parameter : return a non unit tangent vector of the vector v, in a precise point.
3 tan_unit := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return a unit tangent vector of the vector v.
- If two parameter: return a unit tangent vector of the vector v in a precise point.
4 tan_norm := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return the norm of a non unit tangent vector of the vector v.
- If two parameter : return the norm of a non unit tangent vector of the vector v, in a precise point.
5 nor_vect := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return a non unit normal vector of the vector v.
- If two parameter : return a non unit normal vector of the vector v, in a precise point.
6 curbature := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return the norm of a non unit normal vector of the vector v, in other words, the curbature
of the vector v.
- If two parameter : return the norm of a non unit normal vector in a precise point, in other words, the
curbature of the vector v in a precise point.
7 nor_unit := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return a unit normal vector of the vector v.
- If two parameter: return a unit normal vector of the vector v in a precise point.
8 bin_vect := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return a non unit bi-normal vector of the vector v.
- If two parameter : return a non unit bi-normal vector of the vector v, in a precise point.
9 torsion := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return the norm of a non unit bi-normal vector of the vector v, in other words, the
torsion of the vector v.
- If two parameter : return the norm of a non unit bi-normal vector in a precise point, in other words,
the torsion of the vector v in a precise point.
10 bin_unit := proc(v::vector)
In Parameter :
Out Parameter :
Function :
- If one parameter : return a unit bi-normal vector of the vector v.
- If two parameter: return a unit bi-normal vector of the vector v in a precise point.
11 kap1 := proc(k,twist)
In Parameter :
- curbature, twist
- curbature, twist, point
Out Parameter :
Function :
- If two parameter : return the value of kappa1 for all points
- If three parameter: return the value of kappa1 for a precise point.
12 kap2 := proc(k,twist)
In Parameter :
- curbature, twist
- curbature, twist, point
Out Parameter :
Function :
- If two parameters : return the value of kappa2 for all points
- If three parameter: return the value of kappa2 for a precise point.
13 kap3 := proc(t,twist)
In Parameter :
- curbature, twist
- curbature, twist, point
Out Parameter :
Function :
- If two parameters : return the value of kappa3 for all points
- If three parameters: return the value of kappa3 for a precise point.
14 d1 := proc(v::vector,twist)
In Parameter :
- position vector, twist
- position vector, twist, point
Out Parameter :
Function :
- If two parameter : return the vector d1 for all points.
- If three parameter: return the vector d1 for a precise point.
15 d2:= proc(v::vector,twist)
In Parameter :
- position vector, twist
- position vector, twist, point
Out Parameter :
Function :
- If two parameter : return the vector d2 for all points.
- If three parameter: return the vector d2 for a precise point.
16 d3 := proc(v::vector)
In Parameter :
- position vector
- position vector, point
Out Parameter :
Function :
- If one parameter : return the vector d3 for all points.
- If two parameter: return the vector d3 for a precise point.
17 kappa_to_k := proc(k1,k2)
In Parameter :
Out Parameter :
Function :
- return the value of the curbature from the values of kappa1 and kappa2.
18 kappa_to_dn := proc(k1,k2,k3)
In Parameter :
Out Parameter :
- table created as follow : table[1] represent the vector d1, table[2] represent the vector d2 and table[3]
represent the vector d3.
Function :
- Find the three direction vectors d1, d2 et d3 from k1, k2 et k3. These vectors must be found numerically. So
if we do d_vect := kappa_to_dn_di(…), d_vect[1] would represent d1, d_vect[2] d2 and d_vect[3] d3. d_vect[1](1)
would calculate d1 in the point where s = 1.
19 torcur_to_tnb_di := proc(k,tor)
In Parameter :
Out Parameter :
- table created as follow : table[1] represent the unit tangent vector , table[2] represent the unit normal
vector and table[3] represent the unit bi-normal vector.
Function :
- Find the three direction vectors t, n et b from the curbature and the torsion in a point. These vectors are
found numerically. So if we do d_vect := torcour_to_tnb_di(…), d_vect[1] would represent 1t, d_vect[2]
1n and d_vect[3] 1b. d_vect[1](1) would calculate 1t in the point where s = 1.
20 discret_p := proc(v::vector,x,max,h,twist)
In Parameter :
- position vector, start, maximum, number of points, twist
Out Parameter :
- table created as follow : table[i][1] represent the position vector
table[i][2] represent the unit tangent vector
table[i][3] represent the unit normal vector
table[i][4] represent the unit bi-normal vector
table[i][5] represent the curbature
table[i][6] represent the torsion.
table[i][7] represent the norm of the tangent vector
table[i][8] represent kappa1
table[i][9] represent kappa2.
table[i][10] represent kappa3.
table[i][11] represent the twist at a precise point
table[i][12] represent d1.
table[i][13] represent d2.
table[i][14] represent d3.
The i represents all the points discretisized from 1 to h. So table[1][1] represent the position vector of the
vector v given in parameter at the point x, table[2][1] represent the position vector of the vector v at the point
x+(max-x)/h, …
Function :
- Find all the important characteristics of a vector for a given number of points in a certain interval.
21 discret_p_tnb := proc(k1,k2,x,max,h)
In Parameter :
- curbature, torsion, start, maximum, number of points, twist
Out Parameter :
- table created as follow : table[i][1] represent the position vector
The i represents all the points discretisized from 1 to h. So table[1][1] represent the position vector of the
vector v given in parameter at the point x, table[2][1] represent the position vector of the vector v at the point
x+(max-x)/h, …
Function :
- Find the values of the position vector and the twist of a filament for a given number of points in a certain
interval
22 discret_p_tnb := proc(k1,k2,x,max,h)
In Parameter :
- curbature, torsion, start, maximum, number of points, twist
Out Parameter :
- table created as follow : table[i][1] represent the unit tangent vector
The i represents all the points discretisized from 1 to h. So table[1][1] represent the position vector of the
vector v given in parameter at the point x, table[2][1] represent the position vector of the vector v at the point
x+(max-x)/h, …
Function :
- Find the values of t, n et b of a vector for a given number of points in a certain interval.
23 discret_p_kappa := proc(k1,k2,k3,x,max,h)
In Parameter :
- kapp1, kapp2, kappa3, start, maximum, number of points
Out Parameter :
- table created as follow : table[i][1] represent the unit tangent vector
The i represents all the points discretisized from 1 to h. So table[1][1] represent the position vector of the
vector v given in parameter at the point x, table[2][1] represent the position vector of the vector v at the point
x+(max-x)/h, …
Function :
- Find the values of t, n et b of a vector for a given number of points in a certain interval.
24 dna_filament := proc(v::vector,x,max,radi,lambda)
In Parameter :
- position vector, start, maximum, width of the tube, twist
Out Parameter :
Function :
- Draw the vector v in the plane, and a filament surrounding him with a given twist and in a certain interval.
The vectors used are 1n and 1b
25 dna_d_filament := proc(v::vector,x,max,radi,lambda)
In Parameter :
- position vector, start, maximum, width of the tube, twist
Out Parameter :
Function :
- Draw the vector v in the plane, and a filament surrounding him with a given twist and in a certain interval.
The vectors used are d1 and d2
26 funky_filament := proc(v::vector,x,max,radi,lambda)
In Parameter :
- position vector, start, maximum, width of the tube, twist
Out Parameter :
Function :
- Draw the vector v in the plane, and a filament surrounding him with a width which decrements as a negative
exponential, with a given twist and in a certain interval.
27 any_filament := proc(v::vector,x,max,radi,form_1,form_2)
In Parameter :
- position vector, start, maximum, width of the tube, form of the vector 1n, form of the vector 1b.
Out Parameter :
Function :
- Draw the vector v in the plane, and a filament surrounding him which can take any form, and in a certain interval.
The two parameters form_1 and form_2 must be cautiously created in order to create any filament. The procedures
Square1 and Square2 given later are used to create square filaments.
28 ressort_filament := proc(v::vector,x,max,radi,twist)
In Parameter :
- position vector, start, maximum, width of the tube, twist.
Out Parameter :
Function :
- Used to create a rectiligne filament and a filament which surrounds it, with a given twist and in a certain
interval.
29 dna2_filament := proc(v::vector,x,max,radi,twist)
In Parameter :
- position vector, start, maximum, width of the tube, twist.
Out Parameter :
Function :
- Used to create a filament, a filament which surrounds it, and another one surrounding this last one, this with
a given twist and in a certain interval.
30 tor_filament := proc(v::vector,x,max,radi,twist)
In Parameter :
- position vector, start, maximum, width of the tube, twist.
Out Parameter :
Function :
- Used to create a filament which resembles a snake.
31 tube_filament := proc(v::vector,x,max,radi,twist)
In Parameter :
- position vector, start, maximum, width of the tube, twist.
Out Parameter :
Function :
- Used to create a tube and an information on its twist.
32 point_filament := proc(v::vector,x,max,h,twist)
In Parameter :
- position vector, start, maximum, number of points, twist.
Out Parameter :
Function :
- Used to draw a given filament and a filament surrounding him with a given twist and in a certain interval,
these filaments being discretised, and so, being drawn point by point.
33 square1 := proc(smax,twist)
In Parameter :
- maximum of the interval, twist
Out Parameter :
- In collaboration with Square2, these functions output two functions which works together and defines a square
in space with the increment of the parameter s.
Function :
- Used to define the form of the filament to be a square form. This function modify one of the unit vector :
1b, 1n, d1 or d2 and the other function will modify the other one in the same family ((1b,1n),(d1,d2)).
34 square2 := proc(smax,twist)
In Parameter :
- maximum of the interval, twist
Out Parameter :
- In collaboration with Square2, these functions output two functions which works together and defines a square
in space with the increment of the parameter s.
Function :
- Used to define the form of the filament to be a square form. He will modify the twin unit vector of the ones
of Square1.
35 tan_points := proc(l::list)
In Parameter :
- List composed of the values for the unit tangent vectors and the tangent vectors in these points
Function :
- Used to create a list of unit tangent vectors in precise points from a discretisized curve.
36 nor_cur_points := proc(l:list)
In Parameter :
Out Parameter :
- List composed of the values for the unit normal vectors, the curvatures, the kappa1 and the kappa2 in these
points.
Function :
- Used to create a list containing the unit normal vectors, the curvatures, the kappa1 and the kappa2 in precise
points of a discretisized curve.
37 bin_tor_points := proc(l:list)
In Parameter :
Out Parameter :
- List composed of the values for the unit bi-normal vectors, the torsion, the kappa3, and the directions vectors
d1 and d2, in these points.
Function :
- Used to create a list containing the unit bi-normal vectors, the torsion, the kappa3, the directions vectors
d1 and d2 of a discretisized curve.
38 put_in := proc(aa,x,max,hh)
In Parameter :
- Table created with discret_p, start of the interval, maximum, number of points of the interval.
Out Parameter :
- List composed of the points of the curve, of the torsion’s in each point and of the value of s for each points.
Function :
- Used to make the transition between the global table created with discret_p, and the other functions by taking
in account only the points necessary for the discretisation of the curve and for his analysis.
39-57 are functions which works internally by numerical means, they do not calculate any equation
symbolically; they work only, and directly, from a list of discretized points created out of the position vector
in a certain interval.
39 glob_dis := proc(v::vector,xx,maxx,hh,twist)
In Parameter :
- Vector, start, maximum, number of points,twist.
Out Parameter :
- List composed of the points of the curve, the values for the direction vectors d1 at these points,
the values for the direction vector d2 at these points.
Function :
- Used to calculate the values for the points of the curve, d1 and d2 in one time, from
the equation of a vector, the twist function and an interval with the total number of points to be discretisized.
40 glob_dis2 := proc(l)
In Parameter :
- List composed of points, values of the local twist for each point, value of the arclength parameter for each
point.
Out Parameter :
- List composed of the points of the curve, the values for the direction vectors d1 at these points,
the values for the direction vector d2 at these points.
Function :
- Used to calculate the values for the points of the curve, d1 and d2 in one time, from
a list of points, twist and arclength values.
41 point_dis := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the vector in each points of the specified interval
Function :
- Used to create a list of the points of the vector in a certain interval of a curve.
42 point_dis2 := proc(l)
In Parameter :
- List composed of points, values of the local twist for each point, value of the arclength parameter for each
point.
Out Parameter :
- List composed of the points of the curve
Function :
- Used to calculate the values for the points of the curve, from a list of points, twist and arclength values.
43 tan_dis := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the unit tangent vectors in each points of the specified interval
Function :
- Used to create a list of unit tangent vectors in a certain interval of a curve.
44 tan_dis2 := proc(v)
In Parameter :
Out Parameter :
- List composed of the unit tangent points of the curve represented by the list of points
Function :
- Used to calculate the values for the unit tangent points of a discretisized curve.
45 nor_dis := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the unit normal vectors in each points of the specified interval
Function :
- Used to create a list of unit normal vectors in a certain interval of a curve.
46 bin_dis := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the unit bi-normal vectors in each points of the specified interval
Function :
- Used to create a list of unit bi-normal vectors in a certain interval of a curve.
47 cur_dis := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the curbature in each points of the specified interval
Function :
- Used to create a list of curbature in a certain interval of a curve.
48 tor_dis := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the torsion in each points of the specified interval
Function :
- Used to create a list of torsion’s in a certain interval of a curve.
49 kap1_dis := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the kappa1 in each points of the specified interval
Function :
- Used to create a list of kappa1 in a certain interval of a curve.
50 kap2_dis := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the kappa2 in each points of the specified interval
Function :
- Used to create a list of kappa2 in a certain interval of a curve.
51 kap3_dis := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the kappa3 in each points of the specified interval
Function :
- Used to create a list of kappa3 in a certain interval of a curve.
52 kap3_dis2 := proc(l)
In Parameter :
- List composed of points, values of the local twist for each point, value of the arclength parameter for each
point.
Out Parameter :
- List composed of the values for Kappa3 of a discretisized curve
Function :
- Used to calculate the values for Kappa3 of a discretisized curve.
53 d1_dis := proc(v::vector,xx,maxx,hh,twist)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the direction vector d1 in each points of the specified interval
Function :
- Used to create a list of the values for the direction vector d1 in a certain interval of a curve.
54 d1_dis2 := proc(l)
In Parameter :
- List composed of points, values of the local twist for each point, value of the arclength parameter for each
point.
Out Parameter :
- List composed of the values for the direction vector d1 of a discretisized curve
Function :
- Used to calculate the values for the direction vector d1 of a discretisized curve.
55 d2_dis := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the direction vector d2 in each points of the specified interval
Function :
- Used to create a list of the values for the direction vector d2 in a certain interval of a curve.
56 d2_dis2 := proc(l)
In Parameter :
- List composed of points, values of the local twist for each point, value of the arclength parameter for each
point.
Out Parameter :
- List composed of the values for the direction vector d2 of a discretisized curve
Function :
- Used to calculate the values for the direction vector d2 of a discretisized curve.
57 d3_dis := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the direction vector d3 in each points of the specified interval
Function :
- Used to create a list of the values for the direction vector d3 in a certain interval of a curve.
58-69 are function which works by finding the needed curve’s properties by symbolic means out
of the position vector.
58 point_dis3 := proc(v::vector,xx,maxx,hh,twist)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the vector in each points of the specified interval
Function :
- Used to create a list of the points of the vector in a certain interval of a curve.
59 tan_dis3 := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the unit tangent vectors in each points of the specified interval
Function :
- Used to create a list of unit tangent vectors in a certain interval of a curve.
60 nor_dis3 := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the unit normal vectors in each points of the specified interval
Function :
- Used to create a list of unit normal vectors in a certain interval of a curve.
61 bin_dis3 := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the unit bi-normal vectors in each points of the specified interval
Function :
- Used to create a list of unit bi-normal vectors in a certain interval of a curve.
62 tor_dis3 := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the torsion in each points of the specified interval
Function :
- Used to create a list of torsion’s in a certain interval of a curve.
63 cur_dis3 := proc(v::vector,xx,maxx,hh)
In Parameter :
- Vector, start, maximum, number of points.
Out Parameter :
- List of the values for the curbature in each points of the specified interval
Function :
- Used to create a list of curbature in a certain interval of a curve.
64 kap1_dis3 := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the kappa1 in each points of the specified interval
Function :
- Used to create a list of kappa1 in a certain interval of a curve.
65 kap2_dis3 := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the kappa2 in each points of the specified interval
Function :
- Used to create a list of kappa2 in a certain interval of a curve.
66 kap3_dis3 := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the kappa3 in each points of the specified interval
Function :
- Used to create a list of kappa3 in a certain interval of a curve.
67 d1_dis3 := proc(v::vector,xx,maxx,hh,twist)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the direction vector d1 in each points of the specified interval
Function :
- Used to create a list of the values for the direction vector d1 in a certain interval of a curve.
68 d2_dis3 := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the direction vector d2 in each points of the specified interval
Function :
- Used to create a list of the values for the direction vector d2 in a certain interval of a curve.
69 d3_dis3 := proc(v::vector,xx,maxx,hh,twistt)
In Parameter :
- Vector, start, maximum, number of points, twist.
Out Parameter :
- List of the values for the direction vector d3 in each points of the specified interval
Function :
- Used to create a list of the values for the direction vector d3 in a certain interval of a curve.
70 fragme1 := proc(x,y,total)
In Parameter :
- List of values, list of values, total number of points
Out Parameter :
Function :
- Used to create a list of points representing the error between the division of x and y. If the division is
1, they are equal, if 0.5, the value of the list x considered for a given index is twice as big as the y’s value
for the same index. We can then draw this division for each point and have a global view of the relative error.
71 fragme2 := proc(x,y,level,total)
In Parameter :
- List of vectors, list of vectors, axe of the vectors of the list x to be considererd, total number of points.
Out Parameter :
Function :
- Used to create a list of points representing the error between the division of x and y. If the division is
1, they are equal, if 0.5, the value of the list x considered for a given index is twice as big as the y’s value
for the same index. We can then draw this division for each point and have a global view of the relative error.
72 error_discret := proc(v::vector,x,max,h,twist)
In Parameter :
- position vector, start, maximum, number of points, twist.
Out Parameter :
Function :
- Used to have the error curves of the discretisized values compared to the real values.
73 Writhe1 := proc(v,x,max,delta2)
In Parameter :
- position vector, start, maximum, number of points.
Out Parameter :
Function :
- Used to calculate the Writhing number of a knot by using the Gauss Writhing formula. It works by finding the
needed curve’s properties in the function by numerical means from the discretizing of the position vector in the
given interval. It works faster than the function Writhe2 but is less accurate.
74 Writhe2 := proc(v,x,max,delta2)
In Parameter :
- position vector, start, maximum, number of points.
Out Parameter :
Function :
- Used to calculate the Writhing number of a knot using the Gauss Writhing formula. It works by finding the needed
curve’s properties in the function by symbolic means from the position vector. It is therefore more accurate than
Writhe1 but is also slower.
75 Link1 := proc(v1,v2,x,max,delta2)
In Parameter :
- position vector, position vector, start, maximum, number of points.
Out Parameter :
Function :
- Used to calculate the Linking number of two knots using the Gauss Linking formula. It works by finding the
needed curve’s properties in the function by numerical means from the discretizing of the position vector in the
given interval. It works faster than the function Link2 but is less accurate.
76 Link2 := proc(v1,v2,x,max,delta2)
In Parameter :
- position vector, position vector, start, maximum, number of points.
Out Parameter :
Function :
- Used to calculate the Linking number of two knots using the Gauss Linking formula. It works by finding the
needed curve’s properties in the function by symbolic means from the position vector. It is therefore more accurate
than Link1 but is also slower.
77 Twist1 := proc(v,x,max,delta2,twistfunction)
In Parameter :
- position vector, start, maximum, number of points, twist function.
Out Parameter :
Function :
- Used to calculate the Twist value of a curve. It works by finding the needed curve’s properties in the function
by numerical means from the discretizing of the position vector in the given interval. It works faster than the
function Twist2 but is less accurate.
78 Twist2 := proc(v,x,max,delta2,twistfunction)
In Parameter :
- position vector, start, maximum, number of points, twist function.
Out Parameter :
Function :
- Used to calculate the Twist value of a curve. It works by finding the needed curve’s properties in the function
by symbolic means from the position vector. It is therefore more accurate than Twist1 but is also slower.
79 Torsion1 := proc(v,x,max,delta2)
In Parameter :
- position vector, start, maximum, number of points.
Out Parameter :
Function :
- Used to calculate the total torsion of a curve. It works by finding the needed curve’s properties in the function
by numerical means from the discretizing of the position vector in the given interval. It works faster than the
function Torsion2 but is less accurate.
80 Torsion2 := proc(v,x,max,delta2)
In Parameter :
- position vector, start, maximum, number of points.
Out Parameter :
Function :
- Used to calculate the total torsion of a curve. It works by finding the needed curve’s properties in the function
by symbolic means from the position vector. It is therefore more accurate than Torsion1 but is also slower.
81-117 are maple to pov conversion procedures.
81 mheader := proc()
In Parameter :
Out Parameter :
Function :
- Used to create the header.
82 minclude := proc(mlist)
In Parameter :
Out Parameter :
Function :
- Used to create all the includes needed.
83 mcamera := proc(t)
In Parameter :
Out Parameter :
Function :
- no parameter : default camera
- one parameter : user defined camera. For examples [[0,4,-100],[0,0,0]] creates a camera located at [0,4,-100]
which looks at [0,0,0].
84 mlight := proc(mloc::list)
In Parameter :
Out Parameter :
Function :
- Used to create a white light spot at the parameter place. For example [0,100,0] create a light spots at [0,100,0].
85 mspotlight := proc(mloc::list,mat::list,mrad,mfall,mtight)
In Parameter :
- list, list, radius, fallout, tightness
Out Parameter :
Function :
- Used to create a spotlight centered at mloc, pointing at mat, with radius mrad, fallout mfall and tightness
mtight.
86 mplane := proc(mtype)
In Parameter :
Out Parameter :
Function :
- Used to create a plane, there are currently 9 types of plane.
87 mbackground := proc(color)
In Parameter :
Out Parameter :
Function :
- Used to create colored background.
88 msky := proc(mtype)
In Parameter :
Out Parameter :
Function :
- Used to create a sky, there are currently 3 types of background.
89 minit := proc(mname)
In Parameter :
Out Parameter :
Function :
- Used to decide which name the POV output file will take.
90 mfinish := proc()
In Parameter :
Out Parameter :
Function :
- Used to signal that we are no longer interested in writing the output of maple into the POV file.
91 mdeclare := proc(mdec)
In Parameter :
Out Parameter :
Function :
- Used to declare a variable.
92 mwhile := proc(mco)
In Parameter :
Out Parameter :
Function :
- Used to create a while « condition ».
93 mend := proc()
In Parameter :
Out Parameter :
Function :
- Used to terminate a « while » or an « if »
94 mif := proc(mco)
In Parameter :
Out Parameter :
Function :
- Used to create an if « condition ».
95 melse := proc()
In Parameter :
Out Parameter :
Function :
96 mtexture := proc(mcolor)
In Parameter :
Out Parameter :
Function :
- Used to create a texture with a specified color.
97 msphere := proc(mcenter,mradius,mcolor)
In Parameter :
Out Parameter :
Function :
- Used to create a sphere with center mcenter, radius mradius and color mcolor.
98 mbox := proc(mcorner1,mcorner2,mcolor)
In Parameter :
Out Parameter :
Function :
- Used to create a rectangular box with one corner being mcorner1, the other corner being mcorner2, and the color
being mcolor.
99 mcone := proc(mend1,mend2,mrad1,mrad2,mcolor)
In Parameter :
- list, list, integer, integer, integer
Out Parameter :
Function :
- Used to create a cone with one end being mend1, the other end being mend2, the radius at mend1 being mrad1,
the radius at mend2 being mrad2 and the color being mcolor.
100 mcyl := proc(mend1,mend2,mradius,mcolor)
In Parameter :
- list, list, integer, integer
Out Parameter :
Function :
- Used to create a cylinder with one end being mend1, the other end being mend2, the width of the cylinder being
mradius, and its color being mcolor.
101 munion := proc()
In Parameter :
Out Parameter :
Function :
- Used to create a union, it must end with mend_csg().
102 mintersection := proc()
In Parameter :
Out Parameter :
Function :
- Used to create an intersection, it must end with mend_csg().
103 mdifference := proc()
In Parameter :
Out Parameter :
Function :
- Used to create a difference, it must end with mend_csg().
104 mmerge := proc()
In Parameter :
Out Parameter :
Function :
- Used to create a merge, it must end with mend_csg().
105 mend_csg := proc()
In Parameter :
Out Parameter :
Function :
106 mtranslate := proc(mtrans)
In Parameter :
Out Parameter :
Function :
- Used to create a translation.
107 mrotate := proc(mrotate)
In Parameter :
Out Parameter :
Function :
- Used to create a rotation.
108 mscale := proc(mscale)
In Parameter :
Out Parameter :
Function :
- Used to create a scaling.
109 mambient_light := proc(mcolor)
In Parameter :
Out Parameter :
Function :
- Used to create an ambient_light of color mcolor.
110 mtext := proc(mte,mcolor,mthick,moff)
In Parameter :
- string, integer, integer, integer
Out Parameter :
Function :
- Used to create text. The text is mte, mcolor is the color of the text, mthick is thickness of the characters,
and moff is the spacing between the characters.
111 mscene := proc(mnum)
In Parameter :
Out Parameter :
Function :
- Used to create a scene, there are currently 17 different scenes to choose from.
112 manim := proc(mframe,mname)
In Parameter :
Out Parameter :
Function :
- Used to create an animation file for the POV file mname, and with mframe number of frames.
113 mknot := proc(mnum1,mnum2)
In Parameter :
Out Parameter :
Function :
- This procedure takes two parameters, the first giving the number of crossings of the knot, the second, its
rank among all knots having this number of crossings, and gives out a list of points representing the harmonic
knots. For example mknot(3,1) returns: [41,-18,-83,-83,-11,27,36,27,-113,30,11,-27,0,45,-30,113,-11,27], which
means the harmonic knot equation is : [41cos(s)-18sin(s)-83cos(2s)-83sin(2s)-11cos(3s)+27 sin(3s),36cos(s)+27sin(s)-113cos(2s)+30sin(2s)+11cos(3s)-27sin(3s),
0cos(s)+ 45sin(s) -30cos(2s)+113sin(2s)-11cos(3s)+27sin(3s)]. This is the trefoil knot.
114 knot := proc(mnum1,mnum2)
In Parameter :
Out Parameter :
Function :
- This procedure takes two parameters, the first giving the number of crossings of the knot, the second, its
rank among all knots having this number of crossings, and gives out the knot’s vector equation. For example mtransf(3,1)
returns [41cos(s)-18sin(s)-83cos(2s)-83sin(2s)-11cos(3s)+27 sin(3s),36cos(s)+27sin(s)-113cos(2s)+30sin(2s)+11 cos(3s)-27sin(3s),
0cos(s)+ 45sin(s) -30cos(2s)+113sin(2s)-11cos(3s)+27sin(3s)]. This is the trefoil knot.
115 mshowscenes := proc(mname)
In Parameter :
Out Parameter :
Function :
- This function receive as parameter a name. It will create 17 files, of the form mname01, mname02, … , mname17
with .pov extension. These files represents the 17 different scenes available in this package, all of them have
a 7/13 torus knot image on them. This enables one to actually see all of the available scenes.
116 surfaceplot := proc(param1,param2,param3)
In Parameter :
- equation, list of list, list
Out Parameter :
Function :
- This function takes 3 parameters. The first one represents the equation of any surface, for example : z^2+y^2+x^2
= 1, the second parameters gives the interval for the x and y variables in the following form: [[x_left,x_right],[y_left,y_right]],
the third interval is a list of two numbers specifiying respectively the number of points for the x interval and
for the y interval by which this equation is going to be discretized. The result of this function is a list of
points representing this surface. This can then be transfered to POV using the main, povdisplay, function.
117 povdisplay := proc(param1,param2,param3)
In Parameter :
- string, equation/list/list of list/vector, list/integer
Out Parameter :
Function :
- This function is a Maple to POV converter.
List of parameters(mandatory):
	 First parameter(type)
	
surface - draws a surface Z(X,Y)
knot - draws a knot
curve - draws a curve(not discretisised)
vector - draws a curve(discretisised)
points - draws a list of points
Second parameter(equations)
surface - equation of a surface in the form Z(X,Y)
knot - [number of crossings, rank in its familly]
curve - equation of a curve with parameter s (example: vector([cos(s),s,sin(s)]))
vector - equation of a curve with parameter s
points - list of points in the form of a list of list
points+twist - list of the points coordinates + local twist at each point + value of
			 the parameter s for each point
Third parameter(interval)
surface - interval for the X and Y parameters(example: [[0,6],[0,6]])
knot - interval for the s parameter(example: [0,6])
curve - interval for the s parameter
vector - interval for the s parameter
points - value must be 1
points+twist - value must be 2
List of options(all have default values):
orientation - gives the orientation of the resulting picture(example: orientation=[
	 -90,90], default=[45,45])
radius - gives the radius of the spheres(default=0.7)
color - gives the color of the spheres(default=Yellow)
light - gives the coordinates of the light bulb(default=[100,-300,200])
camera - gives the coordinates of the camera(default=[0,-40,0])
animation - sets the animation option(values: yes or no, default=no)
animationname - gives the name of the animation .ini file(default=test.ini)
frames - gives the number of intermediate frames of the animation(default=100)
precision - defines the precision of the resulting image(default=0.02)
numberofpoints - defines how many spheres will be drawn when the knot, curve
morphing - sets the morphing option, it automatically set the animation option to
yes(values: yes or no, default=no)
ribbon - sets the ribbon option(values: yes or no, default=no)
twist - sets the number of twist if the ribbon option is set to yes(default=0);
append - set the append option, if set to yes, the image will be appended to the
file(default=no)
preview - preview the image in maple graphics(values: yes or no, default=no)
ribbonprecision - gives the precision of the ribbon(default=4)
scene - sets the scene number(default=13, values ranging from 0 to 17)
background - gives a background color, no plane or sky exist no
			 more(default=Blue)
povname - gives the name of the pov output file(extension .pov, default=test.pov)
ribbonstyle - gives the style of the ribbon(1 - ribbon, 2 - wounding curve, 3 - two
			 half ribbon with different colors, default=1)
ribboncolor - gives the color of the ribbon(default=color)
animationstyle - gives the animation styles(1 - twist around the z axis, 2 - animate
			 on a specific variable, 3 - both 1 and 2)
animationvariable - gives the specific variable, and then a list of beginning and
ending values (default=[`A`,0,2*Pi])
ribbondistance - gives the width of the ribbon(default=1)
cyclicanimation - if the animation cycles, then it should be yes (default=no);
translate - gives the overall translation of the object (default=[0,0,0]);
scale - gives the overall scaling of the object (default=[1,1,1]);
blackwhite - color / black & white (value: yes or no, default=no)
finalclock - sets the final clock value for animation(default=1)
animationline - gives a personal animation line(default=nothing)