Introduction
Geometry is a text program to aid in the solving of geometry
and Geometry and some Trigonometry problems, using the Pythagorean Theorem,
Trig Ratios (sine, cosine, tangent, and their inverses,) and several basic
postulates and theorems.
Current Version
The current version of Geometry is 1.5. See the next section for downloading.
Downloads, Bugs, News, etc.
Go to the
Project Summary Page
History
From the README file, a concise history:
[...]
Anyway, I wrote this for two reasons:
1. Because I needed to write something to learn more C.
2. Because I needed the program. I have a TI-86 calculator that I
keep at school, where I take Geometry. I wrote several programs in
TI-Basic that made the class a little easier, but TI-Basic has limits, and
I don't bring that calculator home very often, but I do bring Geometry homework
home almost every night. Rather than trying to rewrite the program for the
TI-81, which is my calculator at home, I wrote this program, and added features
that the calculator on my computer couldn't do (degree mode) or that the 86
or 81 couldn't do.
FAQ
1. GeoHQ Name
Q: What's with GeoHQ?
A: GeoHQ was the name of the program on my calculator
(see the 'History' section,) but I named the computer version Geometry.
2. Graphing Features
Q: Why doesn't your program to graphing?
A: There are several reasons. The biggest is that
that Geometry is not a graphing program. The goal of the program is
to work with numbers, not pictures. Secondly, graphics make the program
bigger and less portable. Right now, Geometry will run on about any
computer with a C compiler written in the last 15 years. That wouldn't
be true with graphics. Although I do plan to make a Linux GUI (GTK?)
front-end, I don't think it will do graphing. Finally, I am a new programmer,
without much experience. It would be past my skill level to do graphing,
so don't expect me to even consider this feature until I've got some more
experience under the belt. So, in conclusion, if you want graphing,
go buy yourself a nice TI graphing calculator
.
3. Feature Requests
Q: Why doesn't this program have feature X or Y ?
A: I set up a forum
to discuss just this. Be sure to read Question 2, though,
for info about my skills, and the aim of this program, before mailing me.
3. Helping Geometry
Q: I want to help! What do you need done? How do I do
it?
A: Right now, any kind of help would be nice. I
especially want people with GTK (or tk) skills, or people who would like
to package/compile on their platform.
4. Dedications
Q: Why do you dedicate each version of Geometry?
A: I chose to do this because I haven't seen anyone else
do it :-) and I wanted to honor people who have made important contributions
to science, math, and computers. Major releases are usually dedicated to
math people. v1.0 is dedicated to
Euclid, as without them, and and his
Elements, Geometry would never have existed. So far, this
is how the program is dedicates, and how the next dedications are planned:
Version | Person of Dedication, Field | Reason for Dedication |
1.0 | Euclid , Math | Created Geometry, wrote Elements and postulates |
1.5 | François Viète, Math | Creator of modern Algebra |
2.0* | Carl Sagan , Science | Wrote several books, many essays, had TV show, many scientific achievements |
2.5* | Dennis Ritchie , Computers | Creator of C, Co-Creator UNIX, Programmer, |
3.0* | Alan Turing , Computers | Pioneer in cryptography, AI, computers (created Turing machine), programming |
3.5* | TBA |
5. Version Numbers
Q: How are version numbers decided?
A: A whole number release (i.e. v1.0, v2.0) are major
releases, a .5 (i.e. v.5, v1.5) is a semi-major release with significant
changes, but not enough for a major release. A number between a .5
and a whole number (i.e. v1.3, v3.7) is a minor release for bug fixes or
code fixes. A letter release (i.e. v2.0a, 1.7b) is a very minor release that
won't affect current users and only corrects details (like a typo in the
README or a wording change) and will not involve any code changes (except
for prompt wording.) The only other exception is for the letter p (i.e. 1.5p,
2.0p) which are semi-stable previews of the next release. Dedications
are only changed on major and semi-major releases.
6. Programing
Q: What was this program written in? Where can I learn?
A: This program was written in ANSI C. If you want to
learn C, there are several good books on the subject. I learned from
C for Dummies
, which was not too bad, even if moved a little slow. The only flaw
I saw was the authors using gets(). If you do use C for Dummies, get
a second C reference book (like
K&R,) and I recommend a third reference for your platform, like
Beginning Linux
Programming. Check out the web site too, it makes up for many of
the books flaws.
Email me with any more questions.