Come try out my program

I made a program, called AlDraw, for making geometrical constructions, like these.

I’ve been working on it more recently, and I just put it up on SourceForge. It’s released under the GNU GPLv3, so you can download the source code or the executable for free. I realize that instructions on how to use it are kinda non-existent. I’m working on that.

It’s all done in Java, so that’s all you need to run it.

So, try it out. See if it makes sense, and if you can figure it out despite the current lack of instructions. I’ll of course answer any specific questions.

I’d very much appreciate any feedback.

It looks like a completely cool application. Unfortunately, after filling out that rather invasive Citrix application, nothing happened. Am I supposed to get an email notification or something? I’m particularly interested in the Penrose tiling.

I don’t know anything about a Citrix application. You should be able to download the .zip which contains the executable directly from SourceForge. If you have Java installed, you shouldn’t need to do anything but extract the files to run it.

I think you clicked the wrong link or something: The program is just a few files and a directory archived together in a .zip file. There’s no application to fill out and certainly nothing to do with Citrix.

I can email you the files if you want.

Strinka: Thanks for releasing this and making it Open Source. It’s certainly an appealingly simple little program and all of the features it has certainly work. It seems like it would be a wonderful little aid to someone learning Euclidean geometry. The only problem is that exporting to SVG doesn’t seem to work: It only exports the base circle, not any of the stuff the user actually added. (BTW, I’m running it on Linux.)

(On looking at the source, I see you’ve dummied out the stuff that actually writes the lines and rays. Next release, then?)

It definitely should export any line segments, arcs and circles that are there. If any of those don’t get exported correctly, that’s a bug.

It doesn’t export rays and lines because the svg format doesn’t support infinite lines and rays. I figure I can save them as segments that extend to or past the edge of the screen, but I obviously haven’t gotten to that yet.

If I may suggest, you obviously don’t want ‘infinite’ lines: A line is just a segment that extends from one edge of the page to another, and a ray is just a segment that has a distinct start point on the page and extends to the edge in a given direction.

Also, I probably would have used a library to generate the XML, but doing it by hand the way you did is a perfectly elegant solution given what you are actually doing. I also found your code perfectly discoverable and readable.

the images look very interesting, could be fun for logo sketching, and also for recreating a lot of japanese crests in vector format.

I’ve released an update to this.

I fixed a bug affecting arc deletion. I made it so lines and rays do get exported as segments that extend to the edge of the window. I’ve also added the ability to print directly from the program. I’ve only tested that last part with my printer using letter sized paper, so I’m not sure what it will do in different circumstances.

I get the following errors when I try to run it on my PPC Mac running OS X 10.5.8:

Exception in thread “main”
java.lang.UnsupportedClassVersionError: Bad version number in .class file
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:676)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
java.net.URLClassLoader.access$100(URLClassLoader.java:56)
java.net.URLClassLoader$1.run(URLClassLoader.java:195)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
java.lang.ClassLoader.loadClass(ClassLoader.java:317)
java.lang.ClassLoader.loadClass(ClassLoader.java:252)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:242)
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

Works fine in Kubuntu 10.10 64bit. Nice tool!

PPC macs don’t support Java 1.6. Maybe if you’re lucky OpenJDK will get a ppc version, but for now you’re out of luck.

I’ve noticed that lately SourceForge has some ads (I haven’t seen a Citrix one but I have seen some from HP) that look like a form you have to fill out to download the field. The download link is easy to miss, but the form fills up most of the page.

I’ve made another update to this. Now it does color! It also does copy and paste.

More example drawings are here.