On Coding X: Computer Graphics II

Now that I’ve talked about what I use computer graphics for in my last installment of On Coding, I’d like to talk about the most useful graphics package I’ve come across for writing mathematics:  TikZ.

First a word about the name, TikZ.  It’s an example of a recursive acronym, like GOD used in Douglas Hofstadter’s Gödel, Escher, Bach, which stands for “GOD Over Djinn.”  (By the way, read Gödel, Escher, Bach if you haven’t already — it’s an amazing book about Gödel’s Incompleteness Theorem.)

So TikZ stands for “TikZ ist kein Zeichenprogramm,” which is German for “TikZ is not a drawing program.”  According to its creator, Till Tantau, this indicates that TikZ is not a way to draw pictures with your mouse or tablet, but is more like a computer graphics language.  It is designed for use in LaTeX, and is built with a lower-level language called PGF, which stands for “portable graphics format.”

So enough history — you can read more in the TikZ manual.  But a word of caution — it’s over 1000 pages long, so there’s a lot there!  I’ll only be able to scratch the surface today.

The two most important features of TikZ, in my opinion, are (1) you can draw very precise graphics because you’re writing in a high-level langauge, not using a WYSIWYG environment, and (2) you can use it in LaTeX, including putting any LaTeX symbols in your graphics.  This second point is extremely important, since it means when you’re labelling a diagram, the labels (usually involving mathematical symbols) look exactly the same way as the do in your text.

I use TikZ almost exclusively for two-dimensional mathematical graphics.  In a recent paper, for example, I created the following image.

tikzexamples

Note how precisely all the elements are rendered — this is because you give precise coordinates for all the individual graphics elements.

Let’s take a look at another, somewhat simpler example from this paper.

tikzexamples2

I chose this example for a few reasons.  First, it requires using a lot of the basic TikZ commands.  Second, it illustrates the practical side of drawing computer graphics.  No, I’m not going to submit this image to a Bridges art exhibition any time soon — but if I need to make an image for a paper, I want it to look good.

So I thought I’d take some time to explain various aspects of the code which creates this image.  Maybe not the most glamorous graphic — but you’re welcome to look at the 1000+ page manual for hundreds of neat examples.  Here is a diagram for a finite-state automaton from page 179, for example.

 

tikzpgfmanual2

Here’s what you’d need to type in LaTeX to get the simple graph I mentioned a moment ago.

tikz

Let’s look at several different excerpts from this example.  The first line opens your TikZ environment, and scales the image.  The default unit is 1 cm, so you need to set the scale to get your image the right size.

The next line is just a comment — I don’t use comments much for simple images.  But for more complex images, they’re important.  Just as important as commenting computer code.

The next line draws a set of axes.  What’s important here is that I defined my own “\axes” command — so you can include user-defined functions as well.  The advantages of being able to do this are huge.  You can use any command you define in LaTeX in a TikZ image.

Another great feature is the looping construct, “\foreach.”  The red segments above are one unit long, and so the only difference is the starting points.  Also important here is that you can use mathematical expressions inside TikZ, like the “{(\x^2+9)/6}” expression in the curly brackets.

Note the directives “[thick, red]” after the “draw” command.  You have control over every aspect of the drawing routines in TikZ — and there are lots of them.  For example, there is the “dashed” directive in line 10.  But not only can you draw a dashed line, but you can also specify the lengths of the dash marks and the spaces between them, too!  Further, you can create user-defined styles if you use the same set of directives over and over again.  This is helpful if you are creating several related images, and you want to tweak the color, for example.  You only have to change the color specification in the style, and every image which uses that style will be rendered using the new color.

Notice the “\filldraw” command in line 6.  I wanted open circles, so I drew the circles in red, and filled them with white.  If I wanted to, I could have also specified precisely how thick I wanted the circles to be drawn, but the default thickness looked just fine to me.

Notice the use of “node” and “\node” throughout.  In line 9, for example, the “3” is centered at coordinates (3, -0.5).  Also note the placement of nodes at the end of line segments, as shown in lines 7 and 8.  Again, it is significant that you can include any text you can create in LaTeX in your diagram.

I hope this is enough to give you the feel of using TikZ.  As I mentioned in the last installment, I also use TikZ to create slideshow presentations since there is so much you can do.  Remember, there are over 1000 pages of examples of things you can do in TikZ in the manual.

I would like to mention one caveat, however.  I do sometimes use Mathematica to create images with mathematically intensive equations and calculations.  TikZ is closer to a markup language in its usage, as I see it — so any image that requires significant coding to produce is a bit too cumbersome syntactically.  Here is an example of an image I used Mathematica to create.

Figure1.png

But another nice TikZ feature is that you can import images into your environment — so I can draw complex images in Mathematica, include them in my TikZ picture, and then overlay LaTeX symbols on top of the image.  With this capability, the possibilities are quite literally endless.

A final comment:  TikZ and LaTeX are both open source, so if you’re interested, you can just download them and start experimenting!  The learning curve is a little steep, admittedly, but once you’ve climbed up, you’ll be able to create astonishingly beautiful graphical images for any purpose you have in mind.  Try it!

 

The One Four Conjecture

I can’t remember when I first heard of the “Four Fours” puzzle.  The goal is to use four 4’s to create as many different integers as possible using basic arithmetic operations.  For example,

42=44-\dfrac4{\sqrt 4}.

Which numbers are possible to obtain depends on the range of operations or functions allowed.  Using a decimal point and a bar for a repeating decimal, for example, allows expressions such as

103=\dfrac{44}{.\overline 4}+4.

You can read more about this puzzle on this Wikipedia page, and look at the references there for even more information.

A few years ago, I wondered about what numbers are possible using just one 4.  Of course there aren’t many if you restrict yourself to the basic arithmetic operations.  But you can write 4!= 24, for example.

So the factorial was a way to make numbers larger, but then what about bringing those factorials back down?  The square root function does that, but then you need to convert to an integer.  So perhaps use the floor function, so that the second function you use is

f(n)=\lfloor\sqrt n\rfloor.

Now this is a bit trickier — even small numbers are not so easy to obtain.  For example,

5=\left\lfloor\sqrt{\left\lfloor\sqrt{\left\lfloor\sqrt{\left\lfloor\sqrt{\left\lfloor \sqrt{(4!)!}\right\rfloor}\right\rfloor}\right\rfloor}\right\rfloor}\right\rfloor.

That’s a lot of work just to get 5….  But as I kept on exploring using Mathematica, it seemed that eventually, you could get every positive integer this way!

At first, it was really hard to believe — but the more I worked, the more plausible it became.  It soon became obvious that other numbers other than 4 were possible to begin with.  You could start with 9, for example, since then you could get 4 by

4=\left\lfloor\sqrt{\left\lfloor\sqrt{\left\lfloor \sqrt{9!}\right\rfloor}\right\rfloor}\right\rfloor,

and then proceed from there.

Further, why use a square root?  Could other roots work as well?  More experimentation seemed to suggest that any root might also work.  This led me to the following:

The One n Conjecture:  Suppose n>2 and p>1 are given.  Then using the factorial function and the function

f(n)=\lfloor n^{1/p}\rfloor,

all positive integers may be obtained by some composition of these functions.

This seemed really difficult to prove.  Suppose, for example — using the factorial and square root functions — it is impossible to obtain some particular integer no matter what input you start with.  Of course it is always possible to obtain n from n^2, and n^2 from n^4, and so on, but you’ve got to get larger first, and that requires some use of the factorial.

It turns out, however — in a particular sense (which you’ll see in a moment) — it is always possible, for any p.

The Possibility Lemma:  Suppose p>1 is given.  Then for any positive integer k>1, there exist positive integers q,m such that

k=f(f(f\cdots f(m!)),

where the function f is composed q times.

Let’s focus on the square root for now — that is, p=2.  The Possibility Lemma is only a starting point, since it turns out that most of the time, the smallest m need to generate a particular k is actually greater than k — making an induction proof based on the Lemma impossible.

For example, for k=42, the smallest m is 218 with q=8, so that

42=f(f(f(f(f(f(f(f(218!)))))))).

But for k=43, we get

43=\left\lfloor\sqrt{\left\lfloor \sqrt{10!}\right\rfloor}\right\rfloor.

It seemed that the least m needed to generate a given k exhibited rather erratic behavior.  So my next step was to plot a graph of the least m given k.

I won’t go into all the details here — but it took a little work to optimize the algorithms.  As an example, the smallest m needed to generate k=48,\!500 is m=890,\!827, and computations with such large factorials take time.  It turns out that the trick was to compute in advance the first 1,000,000 factorials as floating point numbers.  A little accuracy is lost as result, but several checks suggested that even so, the correct value of m is found each time.

So here is the plot of values for the least possible m for k from 1 to 5,000.

OneFour5000

And here’s the plot for values of k from 1 to 40,000.

OneFour40000

Now here’s something interesting!  You can’t help but think “fractal behavior” here.  And why the thin bands?  Not sure yet, but they somehow correspond to square roots of factorials.  For example, the m for 49,998 is 470,324, and the m for 49,999 is 248,312, and the square root of 470,324! is not too far off from 248,312!.

But although it looks like there are thin bands, they are not uniformly generated.  Here’s a closeup of the previous graph in the range 49,900 to 50,000.

OneFour100.png

There doesn’t seem to be a predictable pattern as to when the jumps are made.

And it does appear that the thin bands have an upward trend.  Might it be possible that every positive integer is eventually the m for some k?  Not an easy question to answer.

And this is only a beginning!  I just generated the graph up to 50,000 yesterday, so I haven’t had time to analyze it in any more detail.  Using p=3 generates the following graph, so it seems that there may be similar behavior for various p.

OneFour5000p3

I plan to keep working on this little puzzle — although I think a proof of or counterexample to the One n Conjecture is rather far off.  When I do make more progress, I’ll give you an update.  Despite the difficulty of the problem, this is a really fun puzzle to play with!  I hope you might give it a try, too….

Guest Blogger: Percival Q. Plumtwiddle, II

As promised, here is the second installment of my friend Percy’s essay on the significance of our Earthly existence being three-dimensional.  I hope these few words give food for much geometrical thought….

On Threeness (continued…)

Popping over a few dimensions in the meanwhile, the knowledgeable geometer is certainly aware that in dimension four and, indeed, in all dimensions exceeding this critical dimension, the situation is somewhat overwhelming, to say the least. So many thousands of uniform polyhedra abound that the prospect of their enumeration appears beyond the scope of even the most ambitious geometer. (I might recommend such a project, however, to an advanced practitioner of one of the Eastern religions who might, as a result of sufficient spiritual development, continue the undertaking in subsequent reincarnations.)

But in dimension three, how manageable our delight!  Seventy-odd uniform polyhedra clog the pores, multitudinous compounds and stellations frolic with the celestial spheres, etc.,  such as to render the average mortal awestruck.  Details are, of course, voluminous (though within reason), and more eminent geometers than yours truly have authored copious memoranda on said frolicking.  And there is yet much left unsaid, or perhaps, unmemorandized.  To presume that our friendly Supreme B. was unaware of such phantasmagoria would be heresy first class.  Fie!, I say, to such presumption!

As convincing as I have striven to be, I shall endeavor, with difficulty, not to be so narcissistic as to suppose that I have left no room for doubt in the reader’s mind. And so I entice with a few non-Euclidean morsels…

I shall not doubt the reader’s familiarity with the method for calculating the length of a circular arc, given the appropriate parameters. Perhaps less well-known is the method for calculating the area of a spherical triangle, with the attendant formulae relating the various parts of such a triangle only slightly more obscure. I purposefully omit their statements, secretly hoping that the reader will rediscover their simplicity and elegance afresh… In any case, the knowledgeable reader is well acquainted with the vast number of beautiful yet stable geodesic structures which may be constructed, the data for which constructions being directly calculated by way of the aforementioned simple formulae. Let not the skeptical reader be amused by such hyperbole — for one who has indeed fabricated such a structure or two with a few sheets of stiff paper and a bit of rubber cement will certainly view my descriptions as grave understatement.

In any event, as the informed reader is well aware, the formula for finding the area of the spherical triangles mentioned above may be successfully implemented by a child of ten, or perhaps a precocious child of eight, with a minimum of instruction, a pocket calculator, and, if necessary, the promise of an ice cream in the event of their successful completion. The informed reader is equally well aware that analogous calculations in four dimensions may be successfully implemented by no less that a ranking member of the cranially elite given the necessary data (and perhaps a few extraneous ones for good luck), a personal computer, and, if necessary, the promise of tenure in the event of their successful calculation. The superiority of the three-dimensional scenario, both fiscally and otherwise, is evident.

I pause, as a prelude to a conclusion, to ask the reader to reflect upon his or her stance vis a vis the proposed heightened status of Threeness. I imagine the reader to be of one of four minds. First, the reader may be insufferably bored at the current exegesis, in which case he or she will have undoubtedly ceased its perusal long ago. In this case, there is no reason for a continuation of discourse. Secondly, the reader may, to my ineffable delight, be wholly in agreement with the propositions contained herein. Should this be the case, I am not compelled to offer further justification for them. Thirdly, the reader may, to my profound disappointment, be immovably opposed to my thesis. (As an apology to those readers who fall in the second category, I must, rather that be labelled as a righteous fanatic, admit this frankly incomprehensible possibility.) I would not prolong the displeasure of such readers, those that there may be. Fourthly, the reader may be genuinely undecided, perhaps having never mused upon such matters previously, or perhaps still wrestling with deep foundational issues and at an impasse with regard to their resolution. In the former case, I urge an immediate excursion to that local library known for its excellent collection of volumes on the subject, followed by a thorough study of those treatises, and then a rereading of the current manuscript. In the latter case, I believe the matter rather more philosophical than mathematical, and I might suggest several worthwhile Buddhist sources (and caution the reader to avoid the twentieth-century European existentialists). In neither case would I find a need to argue further in this matter of Threeness.

And so, dear reader, I take my leave. It is my fondest hope that these few words have, at the very least, given cause for a leisurely intellectual frolic amidst sunny geometrical meadows, and at the very best, profoundly elevated the spirit. In either case, my work will not have been in vain.

Guest Blogger: Percival Q. Plumtwiddle, I

As I’m out of town for a few weeks, I thought I’d invite my good friend Percy Plumtwiddle to be a guest blogger.  He is an ardent enthusiast of geometry, and we have had many animated discussions on the geometry of three and higher dimensions.

But he has his stubborn side (don’t we all?).  And yes, his language is flowery and over the top, but well, we all have our eccentricities, too.  Nonetheless, he makes some interesting points — just how interesting, I’ll have to let you decide.

Also, his essay, while not too long, is a bit long for just one post — so I’ll break it into two installments.  I’ll return to my keyboard in a few weeks.  In the meantime, enjoy Percy’s unique perspective on geometry, and more broadly, life in general….

On Threeness

Were I God — and I assure you, dear reader, that such is not remotely an aspiration; and were it, even my dear friends and those who hold me in highest esteem (those that there may be) would chortle audibly at the consideration of such a prospect — and were it incumbent upon me to create a sentient being or two (admittedly, I would be somewhat embarrassed, were I God, to admit to the creation of many such beings which presently spoil an otherwise hospitable planet) — and had I the necessity of establishing a place of residence for the aforementioned sentient beings (not that it would be required, matter being at times inconvenient, especially when taking the form of a piece of chocolate cake hidden under one’s outer garments at the precise moment when a head-on collision with a rotund nephew is imminent) — I would not hesitate for a moment in making such a domicile, in dimension, three.

Lest the frivolous reader imagine such a dimensionality to be merely the whim of a somewhat eccentric, although omniscient, Supreme Being, or lest the pious reader imagine that such a dimensionality foreshadows the fairly recent (according to even the most conservative of cosmological estimates) doctrine of the Trinity popular in some Western religions, and lest the banal reader imagine that this third dimesion would be, as goes the cliche, a “charm,” and lest the reader of belles lettres be tempted to make a thoroughly trite reference to MacBeth — apply the cerebral brakes forthwith!  I intend to provide sound reason to dispel such imaginations, should the reader find it bearable to forage among slightly less green pastures.

I appeal not only to the reader’s intellect — being, unfortunately, acquainted much more intimately with self-proclaimed members of the cranially elite than I presently desire — but also to the reader’s aesthetic sensibilities, as potentially volatile as such an appeal may be.  But I have profound faith in this universal Threeness, so I proceed, fully cognizant of the perilous quagmire in which I may soon find myself immersed, should the fates allow.

Indeed, my argument is entirely geometrical, being of the school of thought that such argumentation is lacking in no essentials.  Should the reader be otherwise disposed, I urge an immediate cessation of the perusal of this document, the administration of a soothing tonic, and perhaps the leisurely reading of a light novella.

Several remarks of the Euclidean persuasion present themselves.  Oh, indeed, we are all familiar with the usual formulae for distance, angle, etc., etc.  These pose little difficulty, even in thirty-seven dimensions, once we are introduced to our good friend the Greek capital sigma.

But let us turn our eyes to the imaginitive world of polyhedra, a subject quite dear to my heart.  Another discussion entirely!  It is within this discussion that the force of my words comes to bear.  For indeed, I should be greatly surprised if when, upon strolling through the Pearly Gates and bidding good-day to St. Pete, I find that God did not have amongst his cabinet (a gaggle of geese, perhaps, but the precise nomenclature for an approbriation of Archangels momentarily eludes me) one for whom polyhedra are a consuming passion.

And what would give cause for raised eyebrows?  Follow along.  Examining your regular polyhedra of dimension two, we find squares, triangles, etc., etc., and, while these are no doubt pleasing to the eye, one might find oneself a trifle bored after pondering a polygon of forty-six sides.  For next comes the all-too-exciting forty-seven sider, and while one might appear to the casual observer nonplussed, the more astute attendant of human psychology would undoubtedly sense a consuming ennui.  Hardly worthy of God, or even a lesser member of his cabinet.  Of course, one may counter that I have neglected the likes of five-pointed stars, nineteen-pointed stars, and eighty-five-pointed stars, and one would be correct.  But these, too, soon become tiresome.

This ends the first installment of Percy Plumtwiddle’s essay, On Threeness.  Be sure to catch the second (and final) installment next week!

More on: What is…Inversive Geometry?

The more I thought about it, the more I realized I just couldn’t stop at just one post on inversive geometry.  There is so much interesting geometry to discuss….

Cardioid

This image of a cardioid, made up of a collection of tangent circles, is one of my favorite geometrical constructions.  It’s created by beginning with a base circle (in black).  Choose any point on the circle (like the one in black), which we take to be the origin.

Cardioid2.png

Now for any other point on the black circle (like the point in red), draw a circle with that point as center, and the radius as the distance from the origin, as in the figure.  If you do this several times, the circles you draw will envelope a cardioid.

Why do you get a cardioid?  It’s actually not too difficult to prove using inversive geometry.  We won’t go through all the details, but you’ll see enough to get the gist of the proof.

So let’s go!  There’s actually a lot going on once you’ve added the point at infinity, ω.  If you’ve forgotten about ω, you might want to look at Day091 to refresh your memory.  One property of ω which will be important to our discussion today is that ω lies on any curve which is unbounded.  And the simplest unbounded curve is just a line.

So imagine a line, and some point P on that line.  Now chose a direction long the line, and think about moving along the line in that direction.  What happens?

Well, eventually, you’ll start moving further and further away from the origin.  And as you keep moving further from the origin, you’re actually moving “closer” to the point at infinity.  Not closer in a numerical sense of the distance from ω, since you are always infinitely far away from ω.  But closer in the sense that the line “ends” at the point at infinity.  If ω lies on the line, you’ll need to able to get there — even it takes forever….

Yeah, a bit to wrap your head around.  But it gets even better!  Think back to where you started — the point P — and then move along the other direction along the line.  Keep going…as you approach the point at infinity from the other side of the line.

Do you see what’s happening?  Both ends of the line actually meet at ω!  Yes, the line is a closed curve in inversive geometry, like a circle is in Euclidean geometry.

We’ll come back to this point in a moment, but next we want to ask the following question:  what is the inverse curve of a line?  Recall that the inverse curve of a line is that curve obtained by taking all the individual points on a line, and then taking all of their inverse points.

Interestingly, the inverse curve turns out to be a circle — and not just any circle, but a circle which goes through the origin.  As the proof isn’t all that difficult, we’ll take a few moments to work through it.

figuresinv2

So suppose the red circle centered at O has radius 1, and choose a point P.  Now draw the line through P such that the segment OP is perpendicular to the line, and consider another point Q on this line.  Thus, triangle OPQ has a right angle at P.

Since the point at infinity, ω, is on the line, its inverse point, ω′ = O, must lie on the inverse curve.  Thus, the inverse curve (shown in blue) must pass through the origin. Of course P and Q′, the inverse points of P and Q, must also lie on the inverse curve.

Then by the property of inverse points, [OP]\cdot[OP']=[OQ]\cdot[OQ']=1, and so

\dfrac{[OP]}{[OQ]}=\dfrac{[OQ']}{[OP']}.

But because inverse points lie on the same ray through the origin, then \angle POQ and \angle Q'OP' must have the same measure, making triangles \Delta POQ and \Delta Q'OP' similar triangles.

What does this mean?  This implies that \angle OQ'P' is also a right angle.  To summarize:  given any point Q on the line, its inverse point Q′  has the property that when joined to O and P′, a right triangle is formed with a right angle at Q′.

But because any triangle inscribed in a semicircle is a right triangle, this means that the set of all inverse points Q forms a circle with diameter OP′.  Neat!

Thinking back to ω being on the line, we see that as we begin at P and move either direction along the line toward the point at infinity, here’s what we’re doing on the inverse curve:  we’re starting at the point P′ and moving either direction around the circle toward the origin.  It really does make sound geometrical sense.

Will this work for any line?  If you think about it for a moment, you’ll find that it does…almost.  Our geometrical argument fails if the line actually goes through the origin.  But it shouldn’t be difficult to convince yourself that the inverse curve of a line going through the origin is actually the same line!  The two points where the line intersects the circle of inversion stay in the same place, but the other points switch in pairs.

Where are we going with all this?  It turns out that adding the point at infinity does, in some sense, make lines behave like circles — we can even imagine a line as a “circle with infinite radius.” And where is the center of this circle of infinite radius?  The point at infinity, of course….

As mentioned last week, the inverse curves of circles not passing through the origin are also circles not passing through the origin.  To summarize:

  • Inverses of circles not passing through the origin are also circles not passing through the origin;
  • Inverses of circles passing through the origin are lines not going through the origin (and vice versa);
  • Inverses of lines through the origin are also lines through the origin, and each such line is its own inverse.

Now here’s the next step.  Given the close relationship between lines and circles in inversive geometry, we define a Circle in inversive geometry (capital “C”, like we did in spherical geometry) to be either a line or circle.  Then here’s the revised summary:

  • Inverses of Circles are Circles.

Beautifully simple.  The ability to make simple statements like this with real geometrical meaning is one more reason why inversive geometry it so very interesting.

And with that, we’ll have to call it a week….  In the next (and final) post on inversive geometry, we’ll briefly look at the algebra of inverse curves, and finish the cardioid construction mentioned above.  Until then!

 

Mathematics and Digital Art: Final Update

It’s hard to believe yet another academic year is over!  I do think this second semester of Mathematics and Digital Art went a little more smoothly than the first.  This shouldn’t be too surprising, though — the first time implementing any new course is a little bumpy.  Though I must admit, there were surprisingly few bumps the first time around….

Like last semester, I had students create a movie in Processing.  The main tool I had them use was linear interpolation to create animation effects.  As before, I encouraged them to use linear interpolation with any numerical parameter in their movie — how much red there is in the background color, the position of objects on the screen, or the width of points and lines, just to name a few possibilities.

Colette created some interesting visual effects.  Some students (like her) took advantage of the fact that if you don’t set the background color in the draw function in Processing, successive calls to the draw function overlap the previous ones, giving a sense of movement.

 

Peyton was inspired when her friends invited her to go to the beach.  Here is a screen shot of her movie, where the moon reflects off the rippling waves of the sea at Ocean Beach in San Francisco.

PeytonMovie

Next, I’d like to share a few pieces from students’ Final Projects.  Recall that Final Projects are an important part of the course — during the second half of the semester, we spend one or two days a week working on them.  This is the opportunity for students to explore any aspect of the course in more detail.

While Lainey focused on making images which reminded her of her dreams, she began with this collage including  several motifs from our coursework throughout the semester.  She was one of the few to incorporate L-systems into her Final Project.

FinalPresentation-ElaineTousignant

 

Karina, as many students did, experimented with image processing.  She wanted to overlay multiple images at various transparencies to create a kaleidoscopic effect.  Rotating the images required that she brush up on her trigonometry….

Karina

 

Karla was interested in experimenting with color.  She was interested in morphing images of the Buddha.  Karla used the RGB values of the pixels in an original image, like the one shown below on the left, to determine the RGB values of the pointillistic image shown on the right.

KarlaFinal

Also like last semester, I asked students to write a final response paper about their experience with the digital course.  The responses were similar to those of last semester, so I’ll only include a few excerpts here.

I think differently about mathematics in how it relates to art. I always thought that the two would be separate entities, but this class has proved that’s not always the case.

After having taken this course this semester I really have gained an interest in art and programming that I certainly didn’t have before, even after having taken some courses in programming. I think that actually being able to see the endless things that are able to be created using programming and math is really cool….

One student made a particularly interesting remark:

I wish that I had more knowledge on how to type my own code. There were points in the semester where the art I was creating felt a bit like a coloring page where we were given a page that was already drawn and told to fill it in and try to make it our own.

Of course this is what I want to read!  I do want to inspire students to investigate programming further — but students taking this course receive a mathematics credit.  There is certainly no doubt in your mind about how passionate I am about having students learn to write code, but I do need to emphasize the mathematics of digital art.  Maybe next semester I’ll have Nick run some extra sessions on coding for those who are interested in learning more.

I also wanted to share some work from the other course I taught this semester, Linear Algebra and Probability.  I have students work with affine transformations and iterated function systems in this course as well.  Their first project is a still image using Sage, and their second project is a fractal animation using Processing.  Here is Jay’s submission.

 

And finally, I want to remind you that Mathematics and Digital Art is becoming a university-wide course next year.  I am working with the Fine Arts department here at USF to encourage incoming fine arts majors to earn their mathematics credit by creating digital art!  I expect the course to be quite a bit larger this Fall, and will be connecting with the Fine Arts faculty to make sure the content meets their needs as well.

In addition, I will be giving a talk at Bridges this summer (in Waterloo, (the Canadian one, that is)) about my digital art course.  I’m expecting that I’ll receive a wide range of comments and suggestions, so the course may be a little different in the fall.  That’s one nice feature of this course — it’s not a prerequisite for any other course, so there is some flexibility as far as content is concerned.

Like this semester, I’ll provide monthly updates to let you know what changes I’ve implemented, and also to showcase student work.  So stay tuned!

On Cheese: Reprise

I haven’t repeated a post yet — but as I’m getting ready for Final Exams, I thought it appropriate.  I posted this satire over a year ago, but of course it is still relevant.  The traditional system of assigning grades as a measure of, well, anything, is woefully inadequate.  Continue reading at your own peril….

On Cheese

A new semester is about to start! Finally, those students we have worked so hard to prepare are ready to learn The Calculus!  (Note: We do not teach The Calculus, but rather facilitate its learning.)

With class Roster in hand, we make for the Cheesemonger. (Mr. Hadley has been here for decades.) “Mr. Hadley, twenty-one, if you please,” I say, handing him my Roster. That is all there is to it. The next morning, twenty-one perfectly crafted cubes of Preferred Cheese (each having a mass of precisely 100g) are in my class Cupboard — one for each student, clearly labelled. We are ready!

Of course the students’ initial enthusiasm is high, until the inevitable First Exam. Surely much of the material is review — so we use the Petite grater to shave off a small bit of cheese from a student’s Block when they make the inevitable First Mistake. (There is always the exception, naturally — the Micro is used for sign errors, as well as trivial arithmetic errors.) This is done to accurately track students’ progress.

As the semester progresses, the situation becomes more dire. More egregious errors require the use of a Usual grater, while blocks of students who neglect to turn in entire assignments surely warrant being shaved by an Ultra. After years of experience, we are able to gauge precisely how much cheese must be shaved for each particular type of error. (Truly, it is all in the wrist.)

The end draws near — and although well-acquainted with the system, students still worry about the mass of their Block. They must realize that what is done is done — and No!, it is not possible to replenish the cheese! Is there no justice? They have been warned aplenty, but it is not our fault they do not heed our omens.

We are particularly meticulous with the shaving of the Final Exam — as it is an important assessment. Certain errors now warrant more grievous penalties — the Micro is no longer relevant. Beware the sign error!

But the wonders of being Complete! As a result of our experience (and training, naturally — Mr. Hadley is quite the Cheesemonger), the mass of each student’s Block represents their understanding of The Calculus entirely! Moreover, this mass may be converted to any number of convenient units — a percentage, perhaps, or one of various letters meant to convey a State of Understanding. But the work of the Facilitator is done! We rest well, and enjoy our cuppa. (Yes, some decry the fairness of such a system. No matter. Surely it is the best possible.)

On Coding IX: Computer Graphics I

It has been some time since an On Coding installment, and I thought it finally time to discuss computer graphics.  Of course I’ve done that a lot already, as far as several applications go.  For this post, I asked myself something different:  what do I use computer graphics for?

2017-05-04BinaryTreeLambdais01.png

I had never really taken a step back to look at the larger picture, but that’s one of the purposes of this thread.  I came up with seven major uses, in roughly chronological order from when I started using graphics in each way:

  1. Creating fractals.
  2. Graphic design.
  3. Rendering polyhedra in three dimensions.
  4. Mathematical illustration.
  5. Web design.
  6. Mathematical art.
  7. Research.

Today, I’ll give a brief overview, and follow up in future posts with more details about the various platforms I’ve used.

I don’t need to say a lot about the first two uses, since I’ve discussed them in some detail in my posts on Postscript and iterated function systems.  My interest in fractals has of course continued, especially given my passion for Koch curves and binary trees.  I work less with graphic design now — I used to design stationery and business cards for myself and friends, but now that communication is so largely electronic, there is less of a need.  But I do still occasionally design business cards using my art logo, print them onto cardstock, and cut them myself when I need to.

Day092c2016Vienna

I also spend quite a bit of time designing title and separator slides for presentations.  (I frankly admit to never having created a PowerPoint presentation in my entire life.  Yuck.)  I now exclusively use TikZ in LaTeX since you have complete control over the graphics environment.

Day092a

I haven’t mentioned polyhedra extensively on my blog so far, but my interest in three-dimensional geometry goes back to my undergraduate days.  When I started teaching college for the first time, I designed (and eventually wrote a textbook for) a course on polyhedra based on spherical trigonometry.

The main tool I used early on was Mathematica, and when I redid all my graphics for my textbook about five years ago, I used Mathematica.  The image you see above was rendered using POV-Ray, a ray-tracing package which allows the user to specify a wide range of parameters to create realistic effects.  You can see shadows and a reflection as if the polyhedron were sitting on a shiny, black surface.  And while the images generated by POV-Ray are quite a bit nicer than those created with Mathematica, they take more time and effort to create.

Mathematical illustration covers a wide range of uses.  Drawing figures for a mathematical paper perhaps first comes to mind.  I used a package called PSTricks for quite a while (since the “PS” stands for Postscript), but once I learned about TikZ, I changed over fairly quickly.  This means I needed to re-render many older graphics (especially in my textbook) — but since for both packages you need precise coordinates, I already had all the mathematics worked out for the PSTricks function calls.  So converting to TikZ wasn’t all that problematic.  I will be talking in more detail about TikZ in a future post.

Day092b

Of course there are also geometrical puzzles and problems, as I’ve discussed before on my blog.  Nicely formatted graphics go a long way in making a puzzle appealing to the reader.

Web design is especially important, since I rely so much on my website for everything.  I have a web page for my artwork, for my publications, talks, and anything I do professionally.  I strive for functionality and aesthetics.  I’m also a minimalist as far as design goes — “less is more.”

Also important is ease of use for me.  It’s not hard to add something to my homepage.  I don’t have the time (or interest) in redesigning my homepage every I want to add a new link.  I’m not a fan of hiding everything in dropdown menus — I want the user to glance at my site, and immediately click on the relevant link without having to pore through menus.

Mathematical art has actually been a fairly recent use of computer graphics for me — I only really started getting into it about four years ago.  I don’t feel I have to say a lot about it right here, since it is a common thread throughout so many of my posts.  You can visit my art website, or look at my Twitter, where I try to update daily (as much as I can) with new and interesting pieces of mathematical art.

Finally, I’d like to say a word about the last use of computer graphics:  research.   I think this is extremely important, especially with the exploding world of data visualization.  Really, this has been perhaps Nick’s and my most important tool when it comes to studying binary trees.

2017-02-10tree1

Without going into too much detail about this image, is consists of six scaled and rotated copies of one tree (the ones in color) and a related dual tree (in white).  Now count the number of leaves (ends of paths) in common with the colorful trees — and you’ll count 1, 5, 10, 10, 5, and 1.  These are, of course, binomial coefficients:  row 5 of Pascal’s triangle.

Why is this the case?  And is there some general result to be proved?  The point I’m making is that when Nick and I create routines to display different trees or combinations of trees, we look at lots of examples, and seek recurring themes.

We learn a lot by doing this, and the direction of our research is heavily influenced by what we observe.  This might not be so surprising, since after all, fractal trees are such geometrical objects.  I can honestly say the pace of our progress in making conjectures is directly linked to our ability to produce large numbers of trees and knowing what to look for.

So that’s what I use computer graphics for!  In future posts, I’ll discuss the various software packages I use, and try to give some idea of the advantages and disadvantages of each.  I’ll give special emphasis to those that are open-source — there is so much out there that is free to download, anyone interesting in computer graphics will have no difficulty finding something interesting to experiment with!

What is…Inversive Geometry?

It’s been a while since we’ve looked at a new type of geometry, so today I’d like to introduce inversive geometry.  Let’s look at a few pictures first for some motivation.

Day091a

We would like to consider the operation of inverting points, as illustrated above.  Suppose the red circle is a unit circle, the white dot is the origin, and consider the blue point P.  Now define P′ (the orange dot) to be the inverse point of P as follows:  draw a ray from the origin through P, and let P′ be that point on the ray such that

[OP]\cdot[OP']=1,

where [AB] denotes the distance from A to B. That is, when you multiply the distances from the origin of a point and its inverse point, you get 1.

Now why would you want to do this?  It turns out this operation is actually very interesting, and has many unexpected consequences.  Consider the circles in the figure below.

Day091b

Start with the blue circle.  Now for every point P on the blue circle, find its inverse point P′, and plot it in orange.  The result is actually another circle!  Yes, it works out exactly, although we won’t prove that here.  Note that since every point on the blue circle is outside the unit circle (that is, greater than a distance of 1 from the origin), every inverse point on the orange circle must be inside the unit circle (that is, less than a distance of 1 from the origin).

This is just one geometrical property of inversion, and there are many others.  I just want to suggest that the operation of inversion has many interesting properties.

If you pause a moment to think about this operation, you’ll notice there’s a little snag.  Not every point has an inverse point.  There’s just one point which is problematic here:  the origin.  According to the definition,

[OO]\cdot[OO']=1.

But the distance from the origin to itself is just 0, and it is not possible to multiply 0 by another number and get 1, since 0 times any real number is still 0.

Unless…could we somehow make the distance from O to O′ infinite?  It should be clear that O′ cannot be a point in the plane different from the origin, since any point in the plane has a finite distance to the origin (just use the Pythagorean theorem).

So how do we solve this problem?  We add another point to the usual Euclidean plane, called the point at infinity, which is usually denoted by the Greek letter ω.

You might be thinking, “Hey, wait a minute!  You can’t just add a point because you need one.  Where would you put it?  The plane already extends out to infinity as it is!”

In a sense, that’s correct.  But remember the idea of this thread — we’re exploring what geometry is.  When we looked at taxicab geometry, we just changed the distance, not the points.  And with spherical geometry, we looked at a very familiar geometrical object:  the surface of a sphere.  We can also change the points in our geometrical space.

How can we do this?  Though perhaps a simplification, we must do this consistently as long as it is interesting.

What does this mean?  In some sense, I can mathematically define lots of things.  Let’s suppose I want to define a new operation on numbers, like this:

a\otimes b=a^2+37b.

Wow, we’ve just created something likely no one has thought of before!  And yes, we probably have — and for good reason.  This operation is not very interesting at all — no nice properties like commutativity or associativity, no applications that I can think of (what are you going to do with the 37?).  But it is a perfectly legitimate arithmetical operation, defined for all real numbers a and b.

As I tried to suggest earlier, the operation of inversion is actually quite interesting.  So it would be very nice to have a definition which allowed every point to have an inverse point.

But if we want to add ω, we must do so consistently.  That is, the properties of ω cannot result in any contradictory statements or results.

It turns out that this is in fact possible — thought we do have to be careful.  Although we can’t go into all the details of adding the point at infinity to the plane, here are some important properties that ω has:

  1. The distance from ω to any other point in the plane is infinite;
  2. ω lies on any unbounded curve (like a line or a parabola, but not a circle, for example);
  3. The inverse point of ω is the origin; that is, O′ = ω and ω′ = O.

So we can create an entirely consistent system of geometry which contains all the points in the Euclidean plane plus a point at infinity which is infinitely far away from every other point.  We usually call the Euclidean plane with ω added the extended plane.

With the new point, we can now say that every point in the extended plane has a unique inverse point.

This idea of adding a point at infinity is also important is other areas of mathematics.  In considering the complex plane — that is, the set of points of the form abi, where i is a solution of the equation x^2+1=0 — it is often useful to add the number ∞, so that division by 0 is now possible.  This results in the extended complex plane, and is very important in the study of complex analysis.

The point at infinity is also important in defining stereographic projection.  Here, a sphere is placed on the plane, so that the South pole is the origin of the plane.  The sphere is then projected onto the plane as follows:  for any point on the sphere, draw a ray from the North pole through that point, and see where it intersects the plane.

 

Stereographic_projection_in_3D
Courtesy the Wikipedia Commons.

Where does the North pole get mapped to under this projection?  Take one guess:  the point at infinity!

So here is another new geometry!  As we get introduced to more and more various geometrical systems, I hope you will continue to deepen your intuition about the question, What is a geometry?

Mathematics and Digital Art: Update 3

It’s hard to believe it’s been a month since my last update!  This semester has been unusually busy.

At the end of my last update, I said I’d talk more about using L-systems in class.  I decided to focus on the symmetrical Koch-like images I had been working on for the past few years.  There are two reasons for this.  First, it’s fresh — and demonstrates that creating new fractal images is an active research topic; not everything is known.  Second, you need to know some elementary number theory in order to create symmetrical images.  Since none of the mathematics we studied so far was closely related to number theory, this was a great opportunity to see yet another application of a different branch of mathematics.

Day007koch-45-175

I started with introducing the basics of modular arithmetic.  This was new to most students, but the motivation was easy:  the direction you’re pointing after any given move is relevant to deciding if your sequence of segments closes up.  And any time you turn counterclockwise, you increment the direction by the angle you turn, but subtract 360° when you go over 360° since a turn of 360° doesn’t alter your direction.  This is just using a modulus of 360 for the direction you’re pointing.

Then, I reminded them how to find the prime factorization of numbers in order to create a 2-adic valuation.  Recall that the 2-adic valuation of a number is the exponent of the highest power of 2 which divides that number.  This is significant since the 2-adic valuation (mod 2) indicates how to turn when drawing a Koch-like curve:  a 0 represents one angle (60° for the Koch curve), and a 1 represents the other (240° for the Koch curve).  So we created charts like this:

Day0902adic

Then finally, I showed students how to find angle pairs which created symmetrical images using a theorem in a paper I’m working on for the College Mathematics Journal.  As the proof involves significantly more mathematics at a level beyond what we could reasonably discuss in the course, I just showed them the result.  I won’t go into details here, but I’d be glad to share a draft of the paper if you’re interested and adventurous….

For their project work, they had to create images using the results of the theorem in Processing.  Karla created this image, which I find interesting since it exhibits six-fold symmetry, but the exterior elements have seven points on them.  So rarely do you encounter 6 and 7 together in geometry.

Day090karla

Peyton created this image, which is suggestive of a complete image, but which doesn’t include all the line segments.  But the overall symmetry of the image is clear; you can complete it in your mind’s eye.

Day090Peyton

I also asked students to create an image which did not close up, to experiment with parameters which generated a more chaotic image.  Colette created this image, which reminded her of the top of a pine tree.

Day090Colette

Some students did have difficulty using the theorem correctly to generate images with symmetry, so next semester I’ll spend a little extra time making sure everyone’s on track.

We also had another guest speaker visit the class since the last update.  I met Gwen Fisher at the Art Exhibition in Santa Clara at the Regional MAA meeting last month, and thought she would be a great fit for our class.  What I liked about her art is that she works with beads in very mathematical ways — and her work is very different from anything we had been doing in the class.

She brought in several of examples of her beadwork to pass around.  You can see many beautiful pieces on her website, including this Wisdom Mandala piece she designed.

Day090Gwen
Wisdom Mandala, by Gwen Fisher.

What was wonderful about her presentation was that Gwen discussed both the design and the execution of her pieces.  My students were very engaged, and asked lots of questions along the way.

It turns out, though, that I had seen a talk she gave two or three years ago at another conference!  Of course you can’t remember every speaker you see at every conference you attend, especially out of context.  But after seeing her talk, I realized some of the slides looked strangely familiar, and that is because I had actually seen them before….

One more bit of news.  You might remember that Mathematics and Digital Art has been offered as a First-Year Seminar course this year, meaning that only first-year students may enroll, and the maximum number of students in the course is set at 16.

Being a faculty member at the University of San Francisco, I am also working on a project with colleagues in creating a Mathematics for Educators minor — a series of courses aimed at prospective middle-school teachers to broaden their knowledge of mathematics especially suited to middle-school students.  And of course a digital art course would fit nicely into this framework.

But what if a student decides to opt for the minor after their first year?  Well, they couldn’t take digital art.  So now, the course is a regular offering in the Mathematics and Statistics Department, open to any student at USF.  I’m very excited about this, and really hope to spread the word about the Imagifractalous world of mathematics and digital art!

I’ll keep you updated in the Fall, as I have more changes in store for the course.  I plan to move completely to Processing, since now everything I used Sage for has been rewritten for Processing.  And next semester, I’ll include a short unit on binary trees as well.  Stay tuned….