Savannah CVS Surfing
- Log of /3dldf/3dldf/Group/CWEB/sample2.ldf
Parent Directory
Revision
1.50 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Dec 23 18:55:32 2007 UTC (4 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.49: +39 -7 lines
Diff to
previous 1.49
It seems that it won't be possible for me to get matrix multiplication
to work at present. The version of the GNU Scientific Library that
I have available (1.6) is quite out-of-date and I will need to find
another system to work on.
Revision
1.44 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Thu Nov 29 21:37:11 2007 UTC (5 months, 2 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.43: +44 -6 lines
Diff to
previous 1.43
Working on |class Matrix|, its functions, and the parser rules for
the corresponding 3DLDF type `matrix'.
Unlike the transformation matrices contained in `transforms',
the number of rows and columns of `matrices' can be set by the user.
|class Matrix| uses data types and functions defined in the GNU Scientific Library
(GSL). The code from that library is conditionally compiled, depending
on whether it's available on the system on which GNU 3DLDF is installed.
If the GSL is unavailable, the `matrix' type is non-functional
and the functions of `class Matrix' will return "unsuccessfully",
but no parser errors should occur.
Revision
1.43 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Nov 28 17:21:52 2007 UTC (5 months, 2 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.42: +19 -5 lines
Diff to
previous 1.42
Started working on |class Matrix| and the 3DLDF types |matrix| and
|matrix_vector|. They use the data types and functions for matrices
defined in the GNU Scientific Library (GSL), if the latter is present.
If it isn't, they will be non-functional.
They are currently non-functional, anyway, but I'm working on them.
Revision
1.41 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Nov 25 16:27:35 2007 UTC (5 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.40: +25 -580 lines
Diff to
previous 1.40
BUG FIX: It is now possible to use `xpart <point or transform expression>',
`ypart <point or transform expression>', in expressions. Previously,
this didn't work, because the same `vector' of `real' numbers was used
for the "parts" as for the suffixes of variables.
Revision
1.40 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Thu Nov 8 21:18:09 2007 UTC (6 months, 1 week ago) by
lfinsto1
Branch:
MAIN
Changes since
1.39: +376 -30 lines
Diff to
previous 1.39
Working on plan for dodecahedron model with sundial faces.
Have done one face.
Revision
1.35 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Oct 29 19:59:49 2007 UTC (6 months, 2 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.34: +7 -58 lines
Diff to
previous 1.34
Working on |Rhombic_Triacontahedron::get_tabs| in
`Group/CWEB/rhtchdrn.web' and the macro `draw_rhombic_triacontahedron_net'
in `Group/CWEB/polyhed.lmc'.
Revision
1.34 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Fri Oct 26 21:38:17 2007 UTC (6 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.33: +312 -5 lines
Diff to
previous 1.33
Working on the net of |Rhombic_Triacontahedron|. Made a sample with the
net, but it doesn't have tabs yet. Finished a page with rhombuses for
cutting them out watercolor paper. They have gaps between them and
dashed lines for laying the straightedge up against.
Revision
1.33 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Oct 24 21:31:23 2007 UTC (6 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.32: +36 -193 lines
Diff to
previous 1.32
Added parser rules for getting the net of |Rhombic_Triacontahedron|
along with tabs.
Working on |Rhombic_Triacontahedron::get_net| and
|Rhombic_Triacontahedron::get_tabs| in `rhtchdrn.web' and
the macro `draw_rhombic_triacontahedron_net' in `sample2.ldf'.
Revision
1.32 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Oct 22 16:19:17 2007 UTC (6 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.31: +17 -3 lines
Diff to
previous 1.31
Added code for |class Rhombic_Triacontahedron| and started working on
`Rhombic_Triacontahedron::get_net'. It will replace the 3DLDF code in
the current sample in `sample2.ldf'.
Revision
1.29 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Oct 16 20:38:17 2007 UTC (7 months ago) by
lfinsto1
Branch:
MAIN
Changes since
1.28: +90 -100 lines
Diff to
previous 1.28
Finished |Dodecahedron::get_tabs| and `draw_dodecahedron_net' for
dodecahedron net sample. The macro could be refined.
Revision
1.27 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sun Oct 14 14:17:24 2007 UTC (7 months ago) by
lfinsto1
Branch:
MAIN
Changes since
1.26: +51 -1 lines
Diff to
previous 1.26
Added functions and parser code for the transformer `transposed'
and the commands `invert' and `transpose'.
`transposed' operates on `transform' expressions
and `invert' and `transpose' operate on `transform' variables.
Revision
1.26 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Sat Oct 13 11:38:45 2007 UTC (7 months ago) by
lfinsto1
Branch:
MAIN
Changes since
1.25: +15 -6 lines
Diff to
previous 1.25
Added `class Arc' and parser declarations and rules for
`arc' expressions. The rules work but `arcs' are not
yet functional.
Revision
1.25 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Fri Oct 12 22:41:42 2007 UTC (7 months ago) by
lfinsto1
Branch:
MAIN
Changes since
1.24: +65 -25 lines
Diff to
previous 1.24
Working on the function, the parser rules, and the 3DLDF macro for
creating and drawing tabs for the net of the dodecahedron.
Revision
1.22 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Oct 10 22:30:43 2007 UTC (7 months ago) by
lfinsto1
Branch:
MAIN
Changes since
1.21: +4 -154 lines
Diff to
previous 1.21
Removed the code for the "Sundial 3" sample from `sample2.ldf' and
`3DLDFtex.tex'. It is easily recoverable,
however, as the 3DLDF code is in `sample1.ldf' and the TeX code is
in `sndl_samp.tex'. This code is also in `sundl_03.ldf' and
`sundl_03.txt' files on the "Sundials" webpage.
The current sample code in `sample2.ldf' only draws a dot
at the origin.
Revision
1.20 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Oct 10 10:42:56 2007 UTC (7 months, 1 week ago) by
lfinsto1
Branch:
MAIN
Changes since
1.19: +60 -61 lines
Diff to
previous 1.19
Sundials 3.
The macro `draw_sundial' is now in the file
`sundials.lmc', which is now included in `sample2.ldf'.
I will be using the extension `.lmc' for
files containing macro definitions. GNU 3DLDF
currently doesn't have a means of "fast-loading" macro
definitions that have been compiled into an easy-to-process
form, as do TeX, METAFONT, and MetaPost. Programming this
feature is on my "TO DO" list, but it will be a very big job.
Revision
1.19 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Oct 9 19:49:27 2007 UTC (7 months, 1 week ago) by
lfinsto1
Branch:
MAIN
Changes since
1.18: +15 -17 lines
Diff to
previous 1.18
Found and fixed a major bug in |Id_Map_Entry_Type::~Id_Map_Entry_Type|
in `imetfncs.web'. It took me 7 hours to find and fix it.
It was causing this message to be issued:
*** glibc detected *** double free or corruption (fasttop): 0x0869c4f8 ***
I hope it was the only one.
I discovered it because declaring a vector-type variable within a macro definition
wasn't working. Nor it work to declare one inside a group, e.g.,
begingroup;
bool_point_vector bpv;
endgroup;
Declarations within a macro definition are automatically contained in a group,
so the problem had to do with grouping.
An `Id_Map_Type' object is created for each group and placed onto a stack. When
it's popped from the stack, the objects on it are destroyed. Code in
|Id_Map_Entry_Type::~Id_Map_Entry_Type| was causing objects belonging to
vector-type variables to be deleted twice.
I had been getting this error message from `glibc' before at the end of a run, but it
hadn't been causing segmentation faults. When groups were used, I did get them.
Revision
1.18 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Oct 9 19:42:30 2007 UTC (7 months, 1 week ago) by
lfinsto1
Branch:
MAIN
Changes since
1.17: +40 -2734 lines
Diff to
previous 1.17
Found and fixed a major bug in |Id_Map_Entry_Type::~Id_Map_Entry_Type|
in `imetfncs.web'. It took me 7 hours to find and fix it.
It was causing this message to be issued:
*** glibc detected *** double free or corruption (fasttop): 0x0869c4f8 ***
I hope it was the only one.
I discovered it because declaring a vector-type variable within a macro definition
wasn't working. Nor it work to declare one inside a group, e.g.,
begingroup;
bool_point_vector bpv;
endgroup;
Declarations within a macro definition are automatically contained in a group,
so the problem had to do with grouping.
An `Id_Map_Type' object is created for each group and placed onto a stack. When
it's popped from the stack, the objects on it are destroyed. Code in
|Id_Map_Entry_Type::~Id_Map_Entry_Type| was causing objects belonging to
vector-type variables to be deleted twice.
I had been getting this error message from `glibc' before at the end of a run, but it
hadn't been causing segmentation faults. When groups were used, I did get them.
Revision
1.15 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Tue Oct 2 17:42:45 2007 UTC (7 months, 2 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.14: +134 -27 lines
Diff to
previous 1.14
Finished first sundial example.
Removed the parser rules for getting the plane of planar objects using
a syntax similar to a cast in C, e.g.,
circle c;
c := unit_circle;
plane q;
q := (plane) c;
I have replaced `(plane)' with `get_plane', e.g.,
q := get_plane c
Revision
1.12 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 26 18:19:50 2007 UTC (7 months, 2 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.11: +287 -31 lines
Diff to
previous 1.11
The current sample code performs the following actions:
1. Draw points and paths representing
a focus f0 and its plane of projection along with a circle c0
that lies in the x-z plane.
2. Take points on c0 and finds their projections
on the plane of projection for f0.
3. Create a conic_section_lattice k using
the projections of the points on c0.
4. Traverse k to find points on the ellipse e that
represents the projection of c0 on the plane of projection
for f0.
The next step will be to find the parameters of e
and create a corresponding object of type `ellipse'.
I have already tested this procedure by writing a prototype
using 3DLDF. The sample is in `sample0.ldf' or `sample1.ldf'.
I now need to go back to the C++ function
`Conic_Section_Lattice::get_ellipse', which already exists,
and get it to work. It will require a considerable amount
of error-handling code, which wasn't needed in the prototype.
Revision
1.11 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 26 17:41:12 2007 UTC (7 months, 2 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.10: +29 -222 lines
Diff to
previous 1.10
Rotating objects.
Adding special rules for rotating focuses has made it necessary
to add individual rules for rotating objects of other types.
In the past, this was done by two rules which used the
non-terminal symbol `any_variable'. (This symbol is used
in the code for the GNU Bison grammar and has no
corresponding type in the 3DLDF language.)
I would like to get rid of the `any_variable' symbol anyway,
but it still works for the other transformation commands
(i.e., other than `rotate'), so I'm keeping it for the present.
PLEASE NOTE: User code may fail if it tries to rotate an object of
a type using the `rotate' command for which I haven't added rules.
I don't think I missed any drawable types, but if I did, please send
an email to me at `lfinsto1 --AT-- gwdg.de'. (" --AT-- " stands for "@").
Revision
1.10 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 26 16:18:30 2007 UTC (7 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.9: +118 -43 lines
Diff to
previous 1.9
The current sample code draws points and paths representing
a focus f0 and its plane of projection along with a circle c0
that lies in the x-z plane.
It then takes points on c0 and finds their projections
on the plane of projection for f0. The points representing
the projections are put onto the path q1.
The plane of projection belonging to f0 is represented by the
rectangle r0.
Figure 1 is output using another focus, f1,
which is located behind f0, but with the same direction.
This makes it possible to draw the objects which represent f0.
Figure 2 is output using f0 itself.
Figure 3 is output using a different focus, which makes it
possible to see the objects represent f0 from the side, along with
c0.
Making this example has turned out to be trickier than expected.
The next step will be to create a conic_section_lattice using
the points on q1.
Revision
1.9 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Sep 24 19:54:32 2007 UTC (7 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.8: +97 -155 lines
Diff to
previous 1.8
The current sample code in `sample2.ldf' draws points and paths
representing a focus f0 and its plane of projection along with a
circle c0 that lies in the x-z plane. The plane of projection
belonging to f0 is represented by the rectangle r0. Figure 1 is
output using another focus, f1, which is located behind f0, but with
the same direction. This makes it possible to draw the objects which
represent f0. Figure 2 is output using f0 itself. Figure 3 is output
using a different focus, which makes it possible to see the objects
represent f0 from the side, along with c0. Making this example has
turned out to be trickier than expected.
The next step is to take points on c0 and find their projections on
r0.
Revision
1.8 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Sep 24 14:03:34 2007 UTC (7 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.7: +17 -23 lines
Diff to
previous 1.7
Added parser rules for "tilting" focuses. `tilt' is like `rotate', except that
rotation about the "focus axes" is performed by default. With `rotate',
rotation about the main axes is performed by default. The options `with_main_axes'
and `with_focus_axes' can be used with each of these commands. They will either
have no effect, or cause rotation to be performed about the other set of axes.
Revision
1.6 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 19 18:40:17 2007 UTC (7 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.5: +16 -36 lines
Diff to
previous 1.5
Transforming a focus. Rotating about the main axes.
This seems to work, but I haven't tested it at all,
except to confirm that the sample code I wrote doesn't
fail.
Revision
1.5 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 19 18:09:39 2007 UTC (7 months, 3 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.4: +81 -7 lines
Diff to
previous 1.4
Rotation about the "focus axes" of a `focus' seems to work now.
However, I have not yet tested it thoroughly.
Revision
1.3 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Wed Sep 19 11:47:02 2007 UTC (7 months, 4 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.2: +97 -685 lines
Diff to
previous 1.2
Changed the version number from "1.2.0.0" to "1.2.0". Both numbers were used in
different places before.
Working on |Focuses|.
Revision
1.2 -
(
view)
(
download)
(
annotate)
-
[select for diffs]
Mon Sep 17 17:52:53 2007 UTC (7 months, 4 weeks ago) by
lfinsto1
Branch:
MAIN
Changes since
1.1: +126 -1 lines
Diff to
previous 1.1
Changed the way the "up" point of a focus is set.
IMPORTANT!! This change will change the meaning of existing
user code!
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
select a symbolic revision name using the selection box, or choose
'Use Text Field' and enter a numeric revision.