Essay on Drawing Palettes

12jun10 revised on 22feb11
\begin{document} \maketitle \section{History} Geometers and artists are likely to face many different computer applications with drawing tool kits. And each has a different \textit{palette} (a.k.a. drawing toolbar) reflecting a different philosophy of what constitutes a minimal set of drawing tools. Possibly arrogance, but more likely avoiding copyright infringement, these palettes not only use different though similar icons, but tools are missing or present in a wholly illogical manner. All, however, have their ancestry firmly rooted in Bill Atkinson's justly famous \textit{MacPaint} application which helped launch the original Macintosh computer (google "Atkinson MacPaint"). Each of its twenty tools were intelligently thought out, very useful, and most were patented. As a result, the descendant palettes left out entire subsets of valuable tools, sometimes substituting new ones. For instance, I have never again found the \textit{lasso} (top left), and only Microsoft's \textit{Paint} and Apple's \textit{iPaint} still have the \textit{fat-bits} (on MacPaint toolbar, and represented thereafter by a magnifying glass in palettes that have it there.) Of course, MacPaint was monochrome and all modern palettes are polychrome. The descendants soon bifurcated into ever more sophisticated and therefore expensive applications that evolved into the gold-standard, \textit{Adobe Photoshop}, and devolved into ever more impoverished freebies, like Paint and iPaint. \subsection{Some MacPaint tools} The \textit{lasso} shrank to the image it sourrounded and this could be moved. The \textit{hand} pushed stuff around, the \textit{letter A } permitted the insertion of typed text, the \textit{paint bucket} filled regions with textures, the \textit{spray can} created interesting textures, the \textit{paint brush } provided a variety of line styles, the \textit{pencil} was for free hand drawing, the \textit{line } introduced the socalled \textit{rubber-band cursor} for drawing lines and polygons, and the \textit{eraser } did what it says. These were followed by a number of shape drawing tools, including the \textit{ spline} for composing curves. Along with the word \texit{palette}, we shall here use the original names but in a generic and informal manner. Not every fat-bits tool since works the way it did in MacPaint. The freehand drawing tool, the \textit{pencil}, also differs in a special way across the different palettes. When one draws a free-hand curve, especially with a clumsy tool like a mouse, the hand is apt to jitter, and so does the line drawn. With any new palette you encounter, try to execute your signature. If it comes out looking half-way decent, then the pencil is being \textit{splined}. That means, your \textit{stroke} is sampled and only smooth interpolations between some of the pixels you visit are drawn. This is an expensive feature and most palettes nowadays skip it. The result is a tool that cannot really be used for free hand drawing. It's not that the artist suffers from some kind of palsy. \section{Paint and iPaint} These are mentioned here because \textit{Paint} is most likely on your PC, and iPaint is what we use on the macs in the labs. Paint has a palette not dissimilar enough from MacPaint, so that the above description suffices for you to start experimenting with it. I need a good Paint tutorial, so if you're inclined to write one, do it, and send it to me. \textit{iPaint} came as something of a surprise. It has only half as many tools as MacPaint. And some act quite differently from those in Paint. The fat-bits tool is in the menus. There is no lasso. The pencil has a thickness slider, and you can select the ink color. The scissors are most useful for cutting and pasting (moving stuff around). But the spline tool takes some getting used to, and it helps to know how Bezier splines work. Both Paint and iPaint have undo/redo editing abilities, which is essential when our using it and invariably make mistakes. Sadly, the \textit{Whiteboard} in \textit{Elluminate} does not have the abilty to erase mistakes easily. The reason for this will become clearer below. As with all descendants to draw a square, you need to eyeball a rectangle carefully. Circles are special ellipses. Most surprisingly, circles don't have a center or radius. You have to guess. If it matters how your figures look, use proper geometry drawing tools, many of which are also free. We shall discuss two below. \subsection{Word and Whiteboard} I mentioned, these are included here because you are undoubtedly familiar with the palette in \textit{ Microsoft Word} on the left. I don't use Word when I can help it, and you shouldn't use it in my geometry courses either, for reasons explained elsewhere. The palette from the \textit{Whiteboard} in \textit{Elluminate} has a rudimentary palette (on the right) which is no match to those of Paint and iPaint. A careful instruction on how to use this palette is given elsewhere. I'll only describe some interesting and potentially fatal features. For one, there is no intuitively obvious undo/redo feature in the Whiteboard. This is a huge omission which makes it almost unusable. The free-hand drawing tool, here represented by a pen, not a pencil, is not splined. You cannot sign your name. For another, there is no eraser. It is said that a philosopy professor is cheaper than a mathematics professor at the University. Both require only a pad and pencil. But the philosopher doesn't require an eraser. Here is the non-intuitive reason for this situation. The Whiteboard (and MS Word) use vector graphics rather than bitmap graphics. Most briefly, in bitmap graphics, you color in the tiny squares known as pixels. When you use the line-drawing tool, a Bresenham algorithm based on your initial and final position calculates the intermediate pixels to make an apparently smooth straight line. Like on a piece of paper, you keep filling in pixels with various colors. When you've made a mistake, or dislike some part of the screen, you can "erase it" by matching a certain portion of pixels back to the background color. In vector graphics, the line is also drawn using the Bresenham algorithm. But the figure on the screen can re-addressed with a picking tool, and edited. For example, it can be deleted. The document stores only the data needed for the Bresenham line to be drawn. So, this so-called graphics object can easily be moved to a new location, resized, etc etc. Historically, Apple's MacPaint used bitmap graphics, and MacDraw used vector graphics. Adobe's Photoshop is a descendant of MacPaint, and Illustrator is a descendant of MacDraw. We shall return to this issue below. Since we do use the Whiteboard for Elluminate sessions, a few more words are in order here. If you \textit{hover} your mouse over an icon in the palette of the Whiteboard, a text window appears telling you what the tool does. Experimentation is advisable. The \textit{pen} and \textit{highlighter} are useful. So is the text entry, but a socalled \textit{text editor} to its right is too difficult to be useful. Use it to move text fragments around, but don't try to correct mispellings. If you do want to correct a mispelling, choose the object and then use the inline editor. Sometimes it is easiest to chose, delete and rewrite a short piece of text. The open a filled circle/ellipse and open a filled square/rectangle works like everywhere else. The line drawing tool is a rubber-band curser. You can insert a bitmapped image (.png, .bmp, .jpg), but it won't let you load non image files, like .pdfs. Moreover, you can't edit such an image-object. You can try to draw into it, but not make your graffiti stick to the artwork. The clipart is what it says. Cutesey predrawn images. Curiously, the Whiteboard uses an advanced feature more proper to advanced tools, like Photoshop, namely so-called \textit{layers}. This permits a level of interactivity of several users which is \texit{not} typical of blackboard, or real whiteboards. This makes its use non-intuitive. \section{Geometry Constructions} Applications that can do geometricaly correct constructions necessarily have more intelligently designed palettes or they could not be used for their intended purposes. The gold-standard of these is Nicholas Jackiw's \textit{Geometer's Sketchpad}. There are many more. Here we restrict our discussion to Ilya Baran's open source \textit{KSEG} (first) and Michael Hvidstens fully non-Euclidean \textit{Geometry Explorer} (GEX second), the two we use in our courses. Both applications, by the way, have excellent documentation. Baran's is short and sweet and expects the user to do some intelligent experimentations. Hvidsten offers a 200 page manual which can serve as a course in geometry all by itself. So here we compare only some superificical and profound aspects of their palettes. Baran says he designed KSEG because he couldn't afford to buy a copy of Geometer's Sketchpad. I've been using KSEG in courses that do not require the non-Euclidean plane. For courses that do, GEX is unique in that it has many more of the models for non-Euclidean, and for Euclidean geometry than any other program out there. Thus each is most optimally adapted to its purpose. Joel Castellano's \textit{nonEuclid} is also a good construction program for non-Euclidean geometry. \subsection{KSEG} Designed for the two-button mouse, KSEG creates new points with the right mouse, and that is where geometry begins, with points! Everything else is a construction. Two points determine a line segment, a ray (watch the order specified) or an (infinite) line. The lines dutifully continue past the borders of the window as you change the scale. Suppose you specify three points (hold the shift key as you select three already constructed points), what do they specifiy geometrically speaking? The options that are available. Thus you can click the segment (you get a polygon), the lines (you get a tri-lateral), the arc (you get an arc). But why not circle. Because you should construct your circle from more primitive constructions. Baran is a minimimalist, in many ways. \subsection{GEX} The palette here is more self-consciously geometrical. Hvidsten is a geometer. He segregates the tools into \textit{create}, \textit{construct} and \textit{transform}. He is not a minimalist, and offers shortcuts consistent with the category. It will seem that there is a redundancy here. The same figure can be drawn in many different ways. But only a constructed figure holds together when you \textit{wiggle} it. That is, when the initial conditions, the created objects are moved around, does the rest of the figure follow or fall apart? In the latter is the case, you merely drew a figure, as you might have done in any of the above drawing programs, but you didn't construct it! \section{Conclusion} This has been the briefest, and also very subjective presentations of some common palettes. Now is the time to experiment! \section{Epilogue} So, what do you do when you have to use a less than optimal drawing palette? You do the best you can. And it helps to experiment. Because the vector graphics palette of Elluminate is very useful for being part of Elluminate we shall start with it. Let us (provisionally) call a palette "geometrical" if it is possible to make the constructions possible with ruler and compass (and straightedge and protractor). Let's consider Euclid's postulates. The rubber-band line drawing tool is adequate for connecting two points (Postulate 1). But to extend the line in both directions (Postulate 2) is another matter. If you don't want to redesign the figure going from the back to the front, you'll need to extend the line by sight. It should be possible to "group" the original line and the prolongation so that they move together. To draw a circle, given the center and a point (Postulate 3) is another matter entirely. Because the Bresenham algorithm for drawing a circle (or an ellipse) is independent of its center, you'll need to use some ingenuity. I find that drawing a circle first, then then moving it so as to be centered approximately at the middle works well enough. Angles and distances are not possible, it would seem. But a ruler and straightedge construction should be possible. The auxillary constructions needed could subsequently be deleted, one the figure is done. But moving or deleting a component remains a constant hazard. It might be a interesting project to determine just what constructions you do want to make. And the it would be series of exercises to actually implement them in the Whiteboard. \end{document}