Meeting Date: 24.05.1999
What I did last week: I wrote the application and a class that I called SelectionHelper. I also extended Point3D to SelectablePoint3D, which gave me some strange hassles when calling parent-constructors. Also it refused to find the *.cc file so I had to write everything in the header-file. I hate these Makefiles!!! Anyway, I made many more programming mistakes than I usually do and it slowed work down quite considerably. In the end I got it working and with quite an optimized algorithm too, if I might add. The enclosing circle-calulations were quite dissapointing. It took me a great deal of work to get them to work (let alone figuring them out! I had to use Mathcad to solve some of the equations I had in mind). I used two approximations in my program. An enclosing rectangle (easily calculated by the extrema of the spline) and the enclosing circle. Choosing between the two was a matter of finding the least area of the two. In about 98% of the cases the rectangle had a favourable surface area and in the few cases where it didn't (basically, when the spline was an almost perfect circle, which is difficult to achieve with a mouse) some of the vertices where not contained. So I wept a tear and scrapped the circle. The speed of the process is quite impressive. I selected up to 1000 vertices on a Pentium 100 with 16MB of RAM in almost real-time. The longest delay was actually introduced when drawing the vertices. Self-intersecting shapes are not a problem.
What I'll do this week: The dreadful CoRgi is waiting yet again. An excuse to put that off for a bit may be to consider selecting Vertices in 3D. We'll see what happens first. But Exams are prioritized now. I will not keep this diary in the exam time or the vac, but will do work in that time (obviously). My achievements will be available in the following entries... See ya then.