Author: Laurence D. Finston

This copyright notice applies to the text and source code of this web site, and the graphics that appear on it. The software described in this text has its own copyright notice and license, which can be found in the distribution itself.

Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 The Free Software Foundation, Inc.

Permission is granted to copy, distribute, and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of this license is included in the file COPYING.TXT

Last updated: April 5, 2021.

2013.12.13

GNU 3DLDF 2.0.3 Released.

It can be downloaded from
ftp://ftp.gwdg.de/pub/gnu/3dldf/

Alternatively, http://ftpmirror.gnu.org/3dldf/
will automatically redirect to a nearby mirror.

2013.11.08

GNU 3DLDF 2.0 Released!

It can be downloaded from
ftp://ftp.gwdg.de/pub/gnu/3dldf/

Alternatively, http://ftpmirror.gnu.org/3dldf/
will automatically redirect to a nearby mirror.

It is also available from the Git repository for the project at Savannah:

git clone git://git.savannah.gnu.org/3dldf.git

This is the first release since 1.1.5.1 in 2004. It is also the first release including the interactive program `3dldf', which implements a language intended to resemble Donald Knuth's METAFONT language and John Hobby's MetaPost language, which is based on METAFONT.

In previous releases, the GNU 3DLDF package was more like a library of C++ classes and functions which could be used by users to write programs for making drawings. For several years, versions of the package allowing interactive use have been available via Savannah, but 2.0 is the first official release including this feature.

There have been many other changes, too numerous to list here.

This release has been delayed so long, because the change in the way the
package is meant to be used (i.e., interactively) means that the manual must be
completely rewritten. Unfortunately, it has not been possible for me to do
this. However, in order not to delay the release any longer, I have decided to
go ahead without a new manual. As a partial substitute, many examples are
included in the subdirectory **3DLDF-2.0/examples/**.

2012.08.05., 2012.08.06.

Updated Sphere Model 2 :
Added octagonal caps for the ends and matching pyramids to be attached to the caps.
This is meant to solve the problem that it's difficult to attach the spherical
biangles as they narrow to a point at the ends.

2012.06.05.

Started working on plans for
Building Elements
for paper or cardboard models.

2012.05.11.

Added a page for music with an example of how polyrhythms can be illustrated:
Music.

2011.10.05.

Added a page for board games with a document containing empty chessboard and go
board diagrams: Board Games.

2011.01.28.

Added a document with plans for a papercut:
Star Spiral Pattern 1.

2011.01.05.

I've added a Geometric Patterns page
with a section Papercut Patterns.
On the latter, I have posted a document (along with the source code) containing
patterns which may be of use for making papercut patterns (or similar kinds of patterns).

2010.12.17.

Added a third pattern on the Stellation Patterns webpage.
I've also put all of the patterns into a single document.

2010.09.24.

Added collections of model plans on
the models webpage. These are PDF files, plain
and compressed (gzipped), in DIN A4 and DIN A3 format.

2010.08.27.

Added an Ellipsoid Models webpage. I'm
currently working on plans for a model of an ellipsoid and I've posted
the source code and files containing images on this page. However, this is a
work-in-progress and the plans are still very incomplete.

2010.08.06.

Added plans for a third sphere model.

2010.06.10.

Added a Stellation Patterns webpage.

2010.06.02.

Added plans for a second version of a sphere model.
This version has separate tabs, so the pieces are flush and don't overlap.

2010.05.17.

Added an Architectural Models webpage with plans
for a paper model of the upper part of a clock tower.

2009.10.27.

Added a Models webpage with plans for a paper
model of a facetted cone.

2009.10.20.

Added a Sphere and Dome Models webpage.

2009.01.22.

Added plans for a cardboard model of a
Great Rhombicosidodecahedron.

2009.01.13.

Added a
Curve-Drawing Machine Simulation webpage.
It contains an example of a
trochoid pattern.

2009.01.06.

Added plans for a cardboard model of a
Great Stellated Dodecahedron.

2008.08.18.

Added more examples of
interference patterns
and a flipbook

with a
cycloid pattern.

2008.08.10.

Started working on plans for a
knitted dodecahedron model.
(Note: Removed 2009.01.23.)

Added a flipbook

with
interference patterns.

2007.12.18.

I've started working on sets of functions and parser rules for *complex numbers*
and *matrices*. They use data types and functions defined in the
GNU Scientific Library.
GNU 3DLDF now links to this library if it is available. All code
using the GSL is conditionally compiled, so 3DLDF *should* fail
gracefully if the GSL is not available and a user tries to use any
features that require it.

2007.12.18.

I have also added web pages for Complex Numbers
and Matrices, but
they are both under construction.

2007.11.08.

Started working on plans for a cardboard dodecahedron model with
sundial faces. So far, I've only calculated the dial for a single
face. However, there are diagrams illustrating the method. The files
can be found on the
Polyhedron Models page (Dodecahedra)
or on the
Sundials page (Dodecahedron Model).

2007.10.31.

Added pages for
Catalan Solids (Archimedean Duals)
and Rhombic Triacontahedron.
The Catalan Solids (Archimedean Duals)
page is under construction. The
Rhombic Triacontahedron page has a
sample of the net and a page with rhombuses for cutting out watercolor
paper. The tabs also have markings for stitching the model together.

The same sample
is included on the Polyhedron Models page.

2007.10.26.

Added links to 3DLDF, MetaPost, TeX, PostScript, PDF files, along with
a couple of others, under
Current Sample. Also added a link to a
compressed (gzipped) archive file containing all of the source files and some
generated files comprising the current sample:
currsmpl.tgz.

2007.10.23.

Added an Origami and Paper-Folding page.

2007.10.19.

Added plans for a dodecahedron model on the
Polyhedron Models page.

2007.10.14.

Added a web page for arcs. It's currently
under construction.

2007.09.30.

Put first sample on the sundials web
page. Will be revising it and adding explanatory text soon.

2007.09.29.

Added a web page for sundials.

2007.09.28.

Added a web page for polyhedron models.
Not much on it yet.

2007.09.19.

Added a web page for Focuses. It's
currently under construction.

2007.08.07.

Moved the examples of using the Braikenridge-Maclaurin Construction to
the Conic Sections
webpage. The Braikenridge-Maclaurin Construction is related to
*Pascal's Theorem*. Given five points on a conic section, the
Braikenridge-Maclaurin Construction can be used to find an arbitrary
number of additional points. I plan to use this for finding the
parameters of conic sections where only points are known. This will
be useful in finding intersections and solving the problem of
apparent edges

in perspective projection.

2007.02.06.

Added a Circles webpage.

2006 was a bad year for GNU 3DLDF project. I was only able to work on it a few times. I hope that 2007 will be better.

2006.11.09.

Added an image of a double-napped cone with shadow on the
Cones webpage. The parser rules and
functions needed for making it are new.

2006.11.08.

It is now possible to set, transform, and draw right circular
and elliptical cylinders and cones. I'm still working on the
functions and rules for the ‘cylinder’ and
‘cone’ types. I've added web pages for :
Cylinders and
Cones, but I haven't gotten around to
putting any examples in them.

2006.04.09.

Added an
Important Notice.

2006.02.25.

Added a
Wave Forms page.

2006.01.25.

Added pages for Elliptical Paraboloids,
Hyperbolic Paraboloids,
One-Sheet Hyperboloids,
and
Two-Sheet Hyperboloids.
They are currently all under construction.

2006.01.23.

Added a
Paraboloids page
and a
Hyperboloids page. They are currently
under construction.

2006.01.20.

Added code for finding
the intersection of a **polyhedron** and a **plane**. It is
a **polygon** (except for the degenerate cases).

2006.01.20.

Added code for finding
the intersection points of a **polyhedron** and a linear **path**.

2005.12.20.

Finished the non-default constructor for the Great
Rhombicosidodecahedron. Added illustrations of it to the
Great Rhombicosidodecahedron page.

2005.12.16.

Added text, illustrations, and code samples to the
Cuboids page.

2005.12.16.

I've now implemented a way of finding the **ellipse** that
represents the intersection of an **ellipsoid** and a **plane**.
See the
The Intersection Points of an Ellipsoid and a Plane for more information.

2005.12.09.

Added
Polyhedra,
Cuboids,
Regular Platonic Polyhedra,
and
Semi-Regular Archimedean Polyhedra
pages. They're currently under construction.

2005.12.06.

Added a
Quadric Surfaces page. It's currently
under construction.

2005.12.06.

Added a Prime Numbers page.

2005.11.28.

Adding a Conic Sections page.

2005.11.27.

Working on functions for finding the intersection points of a linear
**path** and a **hyperbola**.

2005.11.21.

Adding parser rules and functions for parabolæ.

2005.11.15.

Added a Hyperbolæ page.

2005.11.10.

Started working on a web page for
the 3DLDF language.

2005.11.09.

Added a Parabolæ page.

2005.10.31.

The **ellipsoid** data type now works. See
Ellipsoid for more information.

2005-10-25

The **sphere** data type now works. See
Spheres for more information.

2005-10-25

I have now removed all of the declarations and rules for x_like

expressions, e.g., **path_like_variable**,
**path_like_primary**, **ellipse_like_secondary**,
etc. These rules tended to cause conflicts, so I've decided to replace
them with separate rules for each type.
I've also removed the debugging code from the rules that I had
to change. This substantially reduces the size of the file **parser.c++**,
generated by GNU Bison from the parser input files. It is not possible
to break this file up into parts and compile them separately. The
length of time it takes to compile it is a bottleneck in development
and installation. I am therefore trying to reduce its size.
Removing these unnecessary rules and reducing the amount of debugging
code seems to have helped. I also plan to replace a lot of code in
the parser actions with function calls.

PLEASE NOTE: Since I've removed the code involving **x_like** expressions,
some things that used to work are temporarily unavailable. I will
be replacing the collective

rules that I've removed with individual rules
for the individual types. It will probably take me awhile before I've
replaced all of the ones that were formerly available.

2005-09-28

Added a Sources section.

2005-09-27

Added a
Graph Paper (Plain and Perspective) page.

2005-09-21

Added a
Converting TeX Text to Images section.

Back to top

Back to main page