Operating Manual

 by Mark Grundland for Godfried Toussaint
Computational Geometry Lab

School of Computer Science at McGill University
Version 1.2.1
November 1998

What is it?

What does it need?

How does it work?

How do you use it?

How can you download it?

What can go wrong?

Who is responsible?


"The Great Bear is looking so geometrical

One would think that something or other could be proved."

- Christopher Fry

What is it?

The JeoEditPoints applet, a part of the JeoEdit package, is a visual tool for creating a set of points in the plane which can have any configuration that you can imagine. As you may know, points are the atoms of geometry. They are the subject of countless theorems and algorithms in computational geometry, pattern recognition, and computer graphics. The purpose of JeoEditPoints is to provide anyone on the world wide web with the powerful and flexible editing tools needed to visually specify a random or predetermined set of points . The point set can then be used as an example or an counterexample for a geometric hypothesis or as an input for a geometric algorithm.

JeoEditPoints is basically a state-of-the-art, what-you-make-is-what-you-see-is-what-you-get, point-and-click-and-drag-and-drop, all-purpose point gadget. Enjoy!

The best way to learn the JeoEditPoints applet is to play with it. If you are interested in creating your own applet, which will communicate with JeoEditPoints in order to use its points as input for a geometric algorithm, take a look at the JeoEdit Developer's Guidebook. JeoEditPoints is a close cousin of the JeoEditPolygon applet, which has its own operating manual that reads very, very much like this one. Finally, if you're at the School of Computer Science at McGill University, you may be interested in my hints on how to get Java to work on campus.

By the way, JeoEditPoints is free for non-commercial, educational use. Use it at your own risk and our pleasure - we make no expressed or implied warranties with regard to this software, its performance, or the points it creates so we won't be liable for any consequential, incidental, or indirect damages arising out of its use or misuse. JeoEditPoints is not public domain. Without our written permission, you may not commercially use, distribute, modify, adapt, translate, or resell this software or any part of it. When you distribute on a non-commercial basis the JeoEditPoints software or any part of it, you must give due credit to its creators, Godfried Toussaint and Mark Grundland, and please include this manual and preserve its internet links.

What does it need?

JeoEditPoints works on any platform that has a web browser which fully supports Java version 1.1 or newer. In fact, Java version 1.1.6 or newer is strongly recommended. For JeoEditPoints to communicate with other applets, the web browser must correctly implement the Java AppletContext.getApplets() mechanism.

JeoEditPoints has been successfully tested with Microsoft Internet Explorer 4.0 on Windows NT 4.0, Netscape Communicator 4.06 on Linux, HotJava 1.1.4 on Solaris UNIX, as well as Microsoft Internet Explorer 4.01 using Apple's MRJ 2.1 Java virtual machine on Mac OS (Power PC required).

How does it work?

When the JeoEditPoints applet starts up, you will see this window:

JeoEditPoints Window

The white space, taking up most of the window, is the drawing canvas on which you can create and modify an arrangement of points. Each point is marked with a little square. A selected point is marked in blue while a deselected point is marked in black. To facilitate viewing and editing, no two points should be too close together - their squares must never be on top of each other. When a point is moved over, any point that is directly adjacent or underneath its square is erased to make room for the new arrival. The drawing canvas can hold comfortably about a thousand points, accommodating slightly more points horizontally then vertically on account of its rectangular shape. You can start off a point set from a clear canvas or a uniform random sample of points, and then add or remove points in a either random or deliberate fashion, depending on your needs. You may select one or more points in order to clone, remove, or move only the selected points while keeping the remaining points fixed. Use the brush, a circle that follows your mouse pointer around, to help you to select points, as well as randomly place or delete points. Finally, you can verify the point set to see if any three points are collinear - the first such triple which is discovered will be marked in red. Once the point set is ready, you can send it to other applets as input for further processing. If you need more space to work in, just resize the JeoEditPoints window and the point set will be scaled accordingly. However, you will not be able to cram more points into the larger space - the points will simply appear to be more spread out. This ensures that, no matter how the point set is edited, it can always be displayed in a compact viewing space and every point will be fully visible.

Above the drawing canvas, there is the status panel showing the editing tool currently in use as well as any errors or warnings.

Next, there is the workspace panel consisting of a row of buttons numbered one to five, corresponding to five separate workspaces, each with its own point set. Use the workspaces to temporarily store multiple sets of points. The currently selected workspace has its button highlighted and the drawing canvas displays its point set. You can easily switch between workspaces as well as transfer a set of points from one workspace to another.

At the top of the window, there is the task bar. From left to right, the task bar buttons designate Undo, Redo and New commands, followed by Spray, Select, Add, and Remove tools and finally the Verify and Process tasks. The current tool has its button highlighted.

Below the task bar buttons is a slider control which you can use to regulate the size of the brush circle. Simply slide the little rectangular thumb along the slider's horizontal track line. Or, just as well, click anywhere on the slider's track line to move the slider's thumb. Dragging the thumb to the left shrinks the brush while dragging it to the right enlarges the brush. Another use of the slider is to specify the number of points, from as few as one to as many as a thousand, in the uniform random sample that the New command creates.

How do you use it?

The buttons and tools all work in a natural, intuitive way - hopefully. Note that "left click" or "left drag" refers to the left mouse button, while "right click" or "right drag" refers to the right or central mouse button (for a mouse with a single button, press down the shift key to simulate the right mouse button). Also note that "toggle" refers to inverting the current selection, whereby a selected point becomes deselected while a deselected point becomes selected.

Undo Command

Redo Command

New Command

Spray Tool

Use the right mouse button for adding points and the left mouse button for removing points.

Select Tool

Use the left mouse button to select points and the right mouse button to toggle points.

Add Tool:

Use the left mouse button to add points and the right mouse button to select points.

Remove Tool:

Use the left mouse button to remove points and the right mouse button to select points.

Verify Task

This task will warn you if any three points in the point set are collinear. This is only useful for rather small point sets - in practice it is usually difficult to draw a point set with more than forty points without some three points being collinear.

Process Task

This task will send the point set for further processing by the other applets on the web page. If there are no such applets available, the task will simply output the coordinates of the point set to standard output (which is typically the web browser's Java log). These coordinates are real numbers between 0 and 1, with the top left corner of the canvas as the origin of the coordinate system. If automatic verification is turned on and some points are found to be collinear, the point set won't be processed until the problem is resolved.


How can you download it?

You can download JeoEditPoints to your computer and run it directly using a web browser or an appletviewer such as the one which comes with Sun's JDK (be sure to use JDK 1.1.6 or newer). Just fetch the archive (for Windows) or JeoEditPointsArchive.tar (for UNIX) from this web page. The archive is approximately 300K.

What can go wrong?

It is possible that JeoEditPoints may not function properly at some unfortunate times, just like most other Java software on the internet. The problem is usually with the Java virtual machine used by the web browser - try a different web browser or Java virtual machine. Here are some known problems and their solutions:

Who is responsible?

If you are having any difficulty with JeoEditPoints, feel free to contact me, Mark Grundland, by sending email to MGrund@PO-Box.McGill.Ca. Have you found a bug? Describe the bug's precise nature, including its habitat and habits, and I will take pleasure in exterminating the critter on the spot. Comments, suggestions, job offers, sudden flashes of cosmic insight as well as sunshine are also welcome. For administrative matters you may contact Godfried Toussaint at Godfried@CS.McGill.Ca.

Please be patient with me since it can take me a while to respond. For the more urgent predicaments, the students or faculty of the School of Computer Science at McGill University may contact me at 514-637-4273.

May all your theorems be true...

- Mark Grundland

JeoEdit Package: Copyright © 1998 Mark Grundland & Godfried Toussaint.
All rights reserved.