## On Coding I

If you’ve been following along for a while, you’re well aware of my passion for coding.  I firmly believe that all students should learn basic programming in at least one language, if not more.  My hope is that by seeing how the computer may be used to create digital art, some readers will embark on a lifelong coding journey.

To help put this in perspective, I thought I’d share my personal coding journey.  I’d never thought about my programming experience in chronological order before, and realized that talking about my journey could help others on theirs.

My particular journey began during my senior year of high school.  Here was state-of-the-art technology at the time:

This was new technology.  Complete with LED display.  I still remember a game I’d play.  It’s maybe not as amusing now as it was then…but take your TI-30, and multiply the numbers 96, 169, 13, and 337.  Then add 1.  Turn your calculator upside-down — and it spells “Shell Oil”!  This is the only one I can remember, but I’m sure I must’ve made up a few more.  (OK, I didn’t remember all the numbers, but I did remember the 96 and 169, and easily figured out the other two.)

You might be wondering — if the hand-held calculator didn’t come out until my senior year, what did we do before that?  Well, we learned trigonometry using tables of numbers.  If we needed a value which wasn’t in the tables, we figured it out using linear interpolation.  Same with logarithms, and any other numerical calculation.  Tables, pencil, paper.  Try to imagine it!

There wasn’t anything in the way of personal computers then, either.  That’s why I think novice programmers today have it so easy!  Download Python, and ask the internet how to do stuff.  No problem.

When I was a senior in high school, some of us took a bus to a local university to learn Fortran.  (Though not the most common computer language today, it is widely used in disciplines such as physics because of its speed in doing numerical calculations.)  There were no computers in high schools.

And get this.  We used punch cards.  Which looked like this:

You needed one card for each line of code you wrote, which you created on a sort of typewriter.  Then you put your cards in a stack, and took them over to the card reader.  Your cards were read, your program was executed, and after a few moments, you got a printout of what you told the computer to do.

Now this line of code took about 10-15 seconds to type in Sage, and printed out the numbers from 1 to 10 on my screen:

for i in range(10):  print i+1

No getting on a bus, punching cards, etc.  It’s truly amazing how far technology has progressed since those years, and also very wonderful that learning basic programming is so easy now.

I remember really enjoying the way you had to think in order to write computer programs. So when I went to college, I took a programming course in PASCAL my very first semester. Carnegie Mellon was on the forefront of what is now called “computer science,” but at the time, it was not a well-established discipline.  In fact, when I was an undergraduate, you couldn’t be a computer science major — you had to be an applied math major in the computer science track!  Of course that’s all changed now.

Naturally I enjoyed this course, too.  Like Fortran, PASCAL is a procedural programming language — in other words, you’re essentially writing procedures and routines that execute statements in a particular order.  It was probably the most popular procedural language before C came along.  There are other types of computer languages as well, and we’ll get to them when they appear in the chronology.

I took two other computer courses which also used PASCAL, and liked them, too.  These courses were more intense and involved using a lot of data structures, such as arrays, linked lists, binary trees, etc.  But again, in the days before PCs.

So to do your assignment, you had to go to a computer lab.  Then sit down in front of one of these.

And no — there was no mouse, no touch-screen, no windows — just a keyboard you used to type lines of text on a TV-like screen.  And no — it’s not even a computer!  It’s a terminal.  What that means is that there was just one large computer, called the main frame, with many terminals linked to it.  When you wanted to run your program, you had to get in the queue — the main frame could only compile one program at a time.  Then the output would be printed to your screen.

I still remember my first (and last!) all-nighter finishing a programming assignment.  I put it off, and waited until the night before.  And so did a lot of other people.

What that meant was the queue was long.  So you had to wait — maybe 15 minutes or so — for your turn.  This was for just executing your program once.

If you made a spelling mistake — say typed “BEING” instead of “BEGIN,” which I do now and then when I’m typing fast — you waited 15 more minutes to try again.  A short program which might only 20 minutes to complete when the main frame wasn’t so busy took several hours….  I will say I never did that again!  I learned my lesson.

So know you see why I think it’s so easy to learn programming today!  And why all students should….

There’s lots more to the story, and I’ll come back to it now and again.  It’s been fun thinking about those days of emerging technology!

## Digital Art I: End of Week 2

Mathematics and Digital Art is well underway!  As promised, I’ll be giving weekly or biweekly summaries of how things are going.  You’re also welcome to follow along on the course website.

Day 1 was the usual introductory class, with a discussion about the syllabus and what the course would be like.  (Remember I blogged a four-part series on the course beginning at Day045.)  I wanted to make it clear that there would be both mathematics and coding in the course.  Some students ended up dropping the course the first week as a result, leaving the class with nine students.

On Day 2, I discussed representing color on the computer — using RGB values (both integer and real), as well as using hexadecimal notation.  Since the course has no prerequisites, we really did need to start at the beginning.  Students did some exploring with various RGB values using a Sage worksheet.  (Links to all the worksheets and other websites referenced in class can be found on the course website.)

Josef Albers was the topic of Day 3.  I’ve talked a lot about his work before, so I won’t go into great detail here.  I let students try out a Sage worksheet — they had an assignment to create their own version which was due in about week, so we spent half the class starting the project.

Essentially, they needed to choose a color scheme and size for their piece.  But then they needed to use five different random number seeds, and decide which of the five resulting images looked best to them, and why.  So the assignment included a brief narrative as well.  The complete prompt is on my website.  (And I think I’ll just stop saying this — just know that anything I mention in these posts will be discussed in more detail on the course website.)

The next two classes focused on creating a piece based on Evaporation.

Again, I discussed this in some detail before (Day011 and Day012).  The basic idea is to use randomness to create texture, both with color and geometry.  Add to this the idea of a color gradient, and that’s enough to get started.

I took a bit of time on Day 5 to explain in some detail about how to create color gradients using a function like $y=x^p,$ where $p>0$ — it isn’t exactly obvious if you’ve never done it before.  Having Nick as my TA in the class really helped out — I was at the board, and he was at the computer drawing graphs of functions and varying the parameters in the routine to produce color gradients. We worked well together.

It turns out that having two of us in the computer lab is really great — debugging takes time.  Students are gradually getting accustomed to the Sage environment, and  learning to go back and redefine functions if they get an error message indicating that something is undefined….

I have really been enjoying the laboratory experience!  My students are wonderfully creative, taking the basic motifs in directions I hadn’t considered.  I’ll illustrate with a few examples from the first assignment.  In this post and future posts, all work is presented with the permisson of the student, including the use of his/her name if applicable.

I should also remark that my intent is not merely to post pieces I subjectively like.  True to the title of my blog, Creativity in Mathematics, I intend to illustrate creative, original ideas.  I may feel that some students have been more successful with their ideas than others — but I’ll share that with the students individually rather than discuss it here.

In order to talk about the students’ creativity, however, let me show you the image they started with.

Andrew experimented with minimalism, creating a series of 2 x 2 images.  This is the one he said he liked the best because of the symmetry and contrast.

Julia was interested in exploring different geometries and created a few drafts which deviated from the rectangle-within-rectangle motif.  Here is one of them.

Safina took a slightly different approach.  She wanted to create some variation by using trapezoids in the centers of the larger rectangles.

Ella really worked with the geometry, creating a lot of visual contrast — especially with the asymmetrical polygons.

So we’re off to a great beginning!  Right now, Nick and I are having to help a lot with editing code since it’s a new experience for most students.  But they are eager to learn, and as you can see, willing to explore new ideas, going well beyond where they started.  We can look forward to a lot more interesting work as the semester progresses!

P.S.  If you are ever interested in any of the students’ work and would like to discuss it further, send an email to vjmatsko@usfca.edu and I’ll forward it on to them!

## Celebrating One Year!

It’s hard to believe, but I published my first blog post one year ago today on September 1, 2015.  It’s been a challenge at times to keep up the weekly posts — but I’m very glad I did.  So here I write, fifty-five posts later….

I do wish to thank my followers and email subscribers, but I’ll stop there at sentimentality.  Given the occasion, I thought I’d talk about one important aspect of the art of mathematics that I’ve hinted at now and then.  Mathematics is a team effort.

Sure, sometimes I have to sit at my desk and just do mathematics.  But there’s a lot more to mathematical endeavor than that.  So I’d like to discuss some conversations I’ve had over the past year — conversations which helped me formulate new ideas and forge new directions to pursue.  Places I wouldn’t have gone if all I did was sit at my desk….

Some of my earlier posts were a direct result of doing some independent study work with one of my students, Thomas.

We were talking about the usual recursive algorithm to create the Koch snowflake, and he asked what would happen if we changed the angles used in the algorithm.  This prompted a year-long investigation into properties of images created using the algorithm — especially images with rotational symmetry.

I gave talks about this phenomenon in Vienna and Finland.  I also mentioned discussing this with one of the conference attendees in Vienna — Paul — who said the images in my talk reminded him of some work he had done earlier.  This image is generated using Paul’s algorithm.

When I looked at his paper, I found that he had used a different recursive algorithm — but surprisingly, the images had a similar feel to those I created.  I haven’t had time to explore this alternate algorithm yet, but if I hadn’t been talking to another artist and mathematician, I might never have come across it.

My last two posts were the direct result of attending a talk at the Bridges conference in Finland.  I had posted about Josef Albers before, but James gave a talk which looked at Albers’ Homage to the Square series in an entirely different way.

The ideas in this talk got me thinking about color on a computer screen and the use of opacity — how there are many different ways to color objects using various combinations of color values and opacity such that visually, they appear the same on a computer screen.

By looking at how opacity is implemented in a typical graphics program, this phenomenon may be analyzed mathematically.  I’ve just scratched the surface in the last two posts; there’s definitely more to be done here.

Working with Nick to get prepared for the Bridges conference was also valuable.  He created fractal images using a particular recursive algorithm he developed.

Most recently, Nick generated a series of fractal images based on a certain parameter.  When this parameter is below some threshold value, the image looks like fractal dust.  Above this threshold value, and the image overlaps itself.  But there seems to be a particular value where parts of the fractal just touch.

Sometimes finding such threshold values can be very difficult.  But I have a hunch we might be able to calculate it for some of the simpler fractals, and I look forward to the challenge.

There were many, many other conversations about mathematics and art over the past year — but these jump out to me as significant.

Any mathematician reading will naturally say, “Of course!”  This is the way that most mathematicians I know work on a daily basis.  It is often useful to share work with others and bounce your ideas off them, just like in most other disciplines.

I think it less likely that a non-mathetician would see the social aspect of doing mathematics.  So I thought I’d talk about that today.

A final “Thank you!” to my loyal followers.  I’ll keep talking, traveling, creating art, and introducing you to others who have inspired me along the way.  Time to begin Year Two!

## Color II: Opacity and Josef Albers

Remember from last week we were discussing the following image:

What colors are the squares?  Recall that when we allowed one or both squares to be transparent to some degree, there were many possible answers to this question.  Last week, we found out all possible color/opacity combinations for the purple square alone.

First, we’ll examine the case that the pink square is transparent and on top of the purple square.  Whether the purple square is transparent actually doesn’t matter, so we’ll be perfectly fine if we assume the purple square has RGB values $(0.6,0.5,1)$ with opacity 1.

To begin, we need to establish the apparent color of the pink square.  If I load this image into Photoshop and use the eyedropper tool, I get integer RGB values of  $(229, 51, 255).$  Dividing these by 255 to convert to values between 0 and 1, I get $(0.898039, 0.2, 1).$  I actually used RGB values of $(0.9,0.2,1)$ to create the image, so the eyedropper tool did its job….

Now let’s call the color of the pink square $(R,G,B),$ and the opacity $a.$  Recall the formula from last week for the result of looking through a transparent color:

$a\, C_1+(1-a)\,C_2.$

In our case, $C_1$ is the color of the pink square, and $C_2$ is the color of the purple square.  So we get the equation

$(0.9,0.2,1)=a\,(R,G,B)+(1-a)\,(0.6,0.5,1).$

As before, we need to break this down into three separate equations, one for each component.  For exactly the same reasons as last week, we must have $B=1$ (go back and reread this argument if you forgot).  The equations for the Red and Green components are

$0.9=a\,R+(1-a)\,0.6,\qquad 0.2=a\,G+(1-a)\,0.5,$

which may be rearranged to yield

$R=0.6+\dfrac{0.3}a,\qquad G=0.5-\dfrac{0.3}a.$

Since color values lie between 0 and 1, we see from the Red equation that we must have

$0\le\dfrac{0.3}a\le0.4.$

Note that when this is true, the Green value also lies between 0 and 1, so this is all we need to check.  A little simplification shows that this implies $0.75\le a,$ so the pink square can be transparent as long as

$0.75\le a\le1.$

We can then use the formulas above to fing the Red and Green values (remembering that Blue is always 1).  Below are the possibilities in RG space:

The point X corresponds to the value $a=1,$ while the point Y corresponds to $a=0.75.$  Note that while the possible points in RG space lie on a line segment (it is easy to see from the above formulas that $R+G=1.1$), the points on the line segment do not vary linearly with $a$ since the $a$ occurs in the denominator in the above formulas.

So now we’ve looked at all the possibilities when the pink square is transparent and on top of the purple square.  What if the purple square is transparent and on top of the pink square?

We first note that half the work is already done, since we worked out the possibilities for a transparent purple square last week.  Here is what we obtained, where again the opacity of the purple square is denoted by $a$:

$R=\dfrac{a-0.4}a,\quad G=\dfrac{a-0.5}a,\quad B=1.$

This corresponds to the color $C_1$ in the formula for opacity.  Now let $(R,G,B)$ denote the color of the pink square underneath, which will be $C_2.$  Using the opacity formula, we obtain the equation

$(0.9,0.2,1)=a\,\left(\dfrac{a-0.4}a,\dfrac{a-0.5}a,1\right)+(1-a)\,(R,G,B).$

This may look a little complicated, but it turns out we only need to look at the Red component.  Looking at the Red color value, we get

$0.9=a\left(\dfrac{a-0.4}a\right)+(1-a)\,R,$

which after multiplying out and rearranging results in

$R=\dfrac{1.3-a}{1-a}.$

Can you see any problem with this formula for $R?$  Since the opacity must be between 0 and 1 — in other words, $0\le a\le1$ — the numerator of this expression will always be greater than the denominator.  This means that the Red color value would have to be greater than 1, which we know is not possible!

Our conclusion?  It is not possible that the two squares can be obtained by a pinkish square beneath a transparent purple square.  Essentially, the pink is “too red.”  In order to make the pink show through the purple, the opacity of the purple would have to be too close to 0, which would then mean that we’re not seeing enough blue.

In general, this is not easy to just see by quickly glancing at an image.  But if we use the formula for opacity and are careful with our calculations, we can prove that certain color/transparency combinations are impossible.

And what about a more complex figure?

Well, there are four different squares to consider, and several different possible layerings.  But it’s even more complicated than that.

What you’re seeing is an image on your color monitor or phone, which is on my website.  I got the image from the Wikipedia commons.  Someone uploaded a digital file of the image, which was either taken of the original piece, or digitized from a photograph of the piece.  Which might have been from a book, published long enough after Albers finished the piece that the photo was actually of a faded original.

So what we’re actually seeing is only an approximation to Albers’ original painting.  To make the analysis more realistic, we’d have to assume that the apparent color we’re seeing is within a certain tolerance of the original.  Meaning each color doesn’t have just one value, but a range of possible values.

We won’t go into this more complicated issue today.  But I hope you now appreciate that an image of just a few squares may be much more intriguing than you might originally think!

## Color I: Opacity and Josef Albers

What do you see?

Looks like a pink square on top of a purple square.  But after hearing a talk about Josef Albers’ work at Bridges 2016 a few weeks ago, I realized there is more than one way to look at this image.

Maybe the square is actually more red, but transparent — so that the purple showing through makes it pink.  Or maybe the pink square is behind the purple square, and it’s the purple square which is transparent.  Or maybe the purple square isn’t a square at all, but a frame — that is, a square with a hole in it!

This first post in a series on color will explore this apparently simple figure.  The ultimately goal will be to analyze images in Josef Albers’ series Homage to the Square. But as mentioned last week, James Mai found that there are 171 possible combinations of opaqueness, transparency, frames, and squares in this series!  So we’ll start with a basic example.

But first, we have to understand how opacity works in computer graphics.  We’ve used RGB colors in several posts so far, but rarely mentioned opacity.  When this is included, the color system is referred to as RGBA, where the “A” represents the opacity (or alternatively, the transparency), which is also sometimes called the alpha.  A value of $a=0$ means that the color is completely transparent, so it doesn’t affect the image at all, while a value of $a=1$ means the color is completely opaque, meaning you can’t see through it at all.

As an example, in the series below, the squares have RGB values of (0.2, 0, 1.0), and A values of 0.25, 0.5, 0.75, and 1.0 (going from left to right).

But these squares could also have been created without any transparency at all!  What this means is that if you include transparency/opacity, there are many different ways to specify a color that appears on your screen, not just one.  So in an Albers’ piece with four squares, where all of them may have some degree of transparency, the analysis can be quite difficult.

Next, we have to understand how the opacity is used to create the colors you see.  If color $C_1$ has opacity $a$ and is on top of a color $C_2,$ the apparent or observed color is then

$a\,C_1+(1-a)\,C_2.$

If you thought to yourself, “Oh, it’s linear interpolation again!”, you’d be right!  In other words, the observed color is a linear combination of the transparent color and the background color.

Keep in mind that is an idealized situation.  It is very difficult to make a correspondence with how we “actually” see.  If you were looking at an object throught a square of colored glass — maybe sunglasses — there would be concerns about the distance between the glass and the object, multiple lighting sources, etc.  For now, we just want to understand the mathematics of using opacity in computer graphics.

Another complication arises in considering the following two squares — a pure red square on top of a pure blue square.

In this case, it is impossible that the red square has any degree of transparency.  If it did, some of the blue would show through.  If the red square had a transparency of $a,$ our linear interpolation formula would give an apparent color of

$a,(1,0,0)+(1-a)\,(0,0,1)=(a,0,1-a).$

This means if there were any transparency at all, there would be a Blue component of the observed color, which is not possible since Red has RGB values of (1,0,0).  So before you go about calculating opacity, you’ve got to decide if it’s even possible!

What color could this square be, with what transparency?  Let’s call the color $C_1$ and the opacity $a.$  Since the background (screen color) is white, we use $C_2=(1,1,1).$

To assess what the color “looks like,” you’d go to PhotoShop and use the eyedropper tool, for example — or another other application which allows you to point to a color and get the RGB values.  In this case, you’d get (0.6, 0.5, 1.0).  Basically, what you get with such tools are RGB values, assuming an opacity of $a=1.$

But of course we’re wondering what is possible if the opacity is not 1.  If we denote $C_1$ by $(R,G,B),,$ we get

$(0.6, 0.5, 1.0) = a\,(R,G,B)+(1-a)\,(1,1,1),$

which simplifes to

$(0.6, 0.5, 1.0)=(a\,R+1-a, a\,G+1-a, a\,B+1-a).$

This gives us three equations in four unknowns, which makes sense — we know the answer is likely not unique since it may be possible to create the square using different opacities.

Note that the third equation is

$1.0 = a\,B+1-a,$

which when rearranged gives us

$a\,(B-1)=0.$

Of course $a$ cannot be 0, or we wouldn’t see anything!  This means $B=1,$ which makes sense since if we’re interpolating between $B$ and 1, the only way to get a result of 1.0 would be if $B=1.$

$0.6=a\,R+1-a,\qquad 0.5=a\,G+1-a?$

Solving them, we get

$R=\dfrac{a-0.4}a,\qquad G=\dfrac{a-0.5}a.$

Keep in mind that the $R,$ $G,$ and $a$ values must all be between 0 and 1.  So we must at least have

$a\ge0.5$

to guarantee that all values are positive.  Further, observe that for any $a$ value between 0.5 and 1 (inclusive), we have that the numerators of both color values are less than the demoninators, and are therefore less that 1.

So this means that the purple square may be created using the color values

$R=\dfrac{a-0.4}a,\quad G=\dfrac{a-0.5}a,\quad B=1,$

as long as the opacity satisfies $0.5\le a\le1.$  This is illustrated graphically below, where the solid line segment represents all possible colors for the square.

Here, the horizontal axis is the Red component and the vertical axis is the Green component.  Since we observed earlier that the Blue component must alwas be 1, the lower-left corner would be (0,0) in RG space (Blue), and the upper-right corner would be (1,1) (White).  When $a=1,$ we obtain the point X with RGB values (0.6, 0.5).  This makes sense, since we observed the color to have RGB values (0.6, 0.5, 1.0).

When $a=2/3\approx0.67,$ we obtain the point Y with coordinates (0.4, 0.25) in RG space.  This means the purple square could be obtained using RGB values of (0.4, 0.25, 1.0) and opacity $2/3.$

And when $a=0.5,$ we obtain the point Z with coordinates (0.2, 0) in RG space.  This means the purple square could be obtained using RGB values of (0.2, 0, 1.0) and opacity 0.5.

Note that even though Y is  halfway between X and Z in RG space, the $a$ value is not halfway between 0.5 and 1.0.  This is because of the $a$ in the denominators in the fractions above giving solutions for R and G.

There’s a nice geometrical interpretation of this picture, too.  If one color is an interpolation of two others, it must lie on the segment joining those two others.  So we need all colors C such that X is on the segment between C and (1,1).  This is just that part of RG space which is a continuation of the line starting at (1,1) and going past X.

Now we could have just used this geometrical idea from the beginning — but I wanted to work out the mathematics so you could see how to use the definition of opacity to solve color problems.  And of course sometimes the geometry is not so obvious, so you need to start with the algebraic definition.

So working with opacity isn’t too difficult as long as you understand what your computer is doing.  In the next post on Color, we’ll tackle the issue of the pink square….

## Bridges: Mathematics and Art III. Jyvaskyla, Finland!

After a 24-hour journey yesterday, I finally returned home from my month-long trip to Europe.  Not that Vienna and Florence weren’t fantastic, but I must admit that Bridges 2016 was the highlight of my trip!  I’d like to share some especially memorable moments of the conference this week.

Of course the most memorable is the annual Art Exhibition.

I’ll discuss some of the pieces in this post, but there is no way to include them all!  Luckily, there are online galleries for all the Bridges conferences.  You can access them at the  Bridges online art galleries, although the gallery for Bridges 2016 is not up yet (but will be soon).

Two of the most memorable displays in the exhibit (no bias here, of course!) are my two pieces,

and my student Nick Mendler’s two pieces (the second piece is shown later).

It’s a real pleasure just to walk among the artwork and admire the intricacy of the pieces close-up.  Pictures absolutely do not do justice to the experience….  Some pieces which particularly stood out for me were these spheres created by Kiyoko Urata.

Look closely at how they are made.  The medium is silk thread.  Yes, these are knitted!  These models won the award for Best Craftmanship, and they definitely deserved it.

Many of the talks in the Bridges conferences were about works in the exhibition, but not all.  I was particularly fascinated by a talk given by James Mai of Illinois State University (click here to read the full paper).  He discussed Josef Albers’ series Homage to the Square; one piece in the series is shown below (image courtesy of Wikipedia).  I have written about Josef Albers before (see Day002), so you might imagine I was rather interested in seeing this talk.

I’d seen these images before, but I just thought they were color studies.  The point of the talk was to suggest that there are many possible ways to interpret these figures.  For example, a naive interpretation is just to look at this image as four squares, one on top of each other.  What fascinated me was how many other ways there are to look at this series by Albers.

For example, what if some of the square are transparent?  Then some of the colors you see are the result of other colors showing through some of the squares.  But which ones?  What combinations of transparency are possible?  If we take it a step further, we might imagine that there aren’t four squares, but perhaps some frames — that is, squares with smaller squares cut out.  Further still, one or more of these frames might also be transparent.

In total, Albers produced over 1000 images of four different configurations of squares in this series (see the paper for details).  In the talk, James Mai found that there are in fact 171 different combinations of frames/transparency that are possible!  This is an entirely different level of complexity that I never imagined possible in this Albers series.  I intend to discuss this phenomenon in my Mathematics and Digital Art course this fall, so be sure to follow along if you’re interested to see more.

Nick and I did talk about our own work.  I was happy with my talk, which prompted a lot of questions from the audience — always a good sign!  Nick really did well for a first time at a conference like this.  He had 15 minutes allotted for his talk, and if you’ve never given a short talk, you may not realize how difficult it is.  As Nick and I sat through sessions, I kept noting to him how rushed many of the presenters were at the end because they spent too long at the beginning getting into their talk.

But Nick had no time issues at all.  We worked at getting rid of a few slides which took too much time to explain — Nick talked through the remaining slides at a leisurely pace, and even had a few minutes for questions at the end.  Really well done.

One special treat was a talk on spherical mirrors given by Henry Segerman.  It really can’t be described in words, but if you look at his YouTube channel, you’ll find some truly amazing videos.  I highly recommend it!

There were also many scheduled events outside the university.  Again, there is no way to describe them all, but my favorite was the exhibition by Rinus Roelefs (who was attending the conference) at the Art Gallery of Central Finland’s Natural History Museum.  This was a spectacular display of polyhedra with a special opening night during the conference.

There must have been at least 200 models exhibited, all very intricate and exquisitely assembled.  See my Twitter @cre8math for more pictures of this one-of-a-kind display.

Expect the unexpected — if you’ve been following me on Twitter, you’ll recall I posted about “found art” just walking around the streets of Florence.  There was a really wonderful surprise along the pedestrian walkway through central Jyvaskyla.

Not much explanation is needed here — but it was just so neat to find this piece in the middle of the street!

Hopefully this gives you a sense of the atmosphere of the conference.  Truly magical!  If you are really interested, Bridges 2017 is in Waterloo, Canada, so it’s a lot easier to get to than Jyvaskyla, Finland.  Nick and I are already determined to attend, and will be starting our planning later this Fall.  I’m planning to give a report on my Mathematics and Digital Art course I’m teaching this semester, and Nick is hoping to take his investigations into the third dimension and make some awesome movies.  You’re welcome to join us in Waterloo for Bridges 2017!

## Guest Blogger: Geoffrey Owen Miller, II

Let’s hear more from Geoffrey about his use of color!  Without further ado….

Last week, I mentioned a way to combine the RGB and CMYK color wheels.

This lovely wheel is often called the Yurmby wheel because it’s somewhat more pronounceable then YRMBCG(Y). The benefit of the Yurmby is that the primary of one system is the secondary of the other. With the RGB system,

Red light + Blue light = Magenta light.

Red and Blue are the “primaries,” meaning they are used to mix all other colors, like Magenta, and they can’t be mixed by other colors within that system. The CMYK system is different because pigments absorb light and so it is the reverse of the RGB system:

Cyan pigment + Yellow pigment = Green pigment.

This spatial relationship on the wheel is important as it is an oversimplified representation of an important aspect of our vision. Our eyes only have three types of color sensitive cells—typically called Red, Blue, and Green cone cells. Each cell is sensitive to a different size of wavelength of light:  Long, Medium, and Short. When all three frequencies of light are seen together, we see white light. But more significantly, when we see a combination of Medium (green) and Long (red) wavelengths, our brain gets the same signal as if we saw yellow light, which has a medium longish wavelength!

Going back to the Color Relationships, the first, and easiest to see is a Triadic relationship. Here three colors are chosen at similar distances from each other on the color circle. If we choose Red, Green and Blue, then you should feel a sense of familiarity. When light of all three colors is brought together we have white. But what if we move the triangle, you may ask? Well, let’s try Magenta, Yellow, and Cyan. To shorten the number of words written, I am going to increasingly use more abbreviations. C + Y + M = Black, right? Well yes, if mixed as pigment on paper it becomes a dark gray, as Cyan absorbs Red, Yellow absorbs Blue, and Magenta absorbs Green. But as light, they mix to White.

Cyan light is made up of both Green light and Blue light as that is how you make Cyan light: C = G + B. If we go back to our original equation

C + Y + M

and simplify further, we get

(G + B) + (G + R) + (R + B), or 2R + 2G + 2B.

We can remove the 2’s as they are not important (think stoichometry in chemistry!) and we are left with RGB, or white. Now let’s try moving half a step clockwise:

Magenta-Blue + Cyan-Green + Yellow-Red,

or

M + B + C + G + Y + R,

which simplifies to

(R + B) + B + (B + G) + G + (G + R) + R, or 3R + 3G + 3B,

which once again is RGB!

The point of these “color relations” is to simplify the number of colors in use. Any three equally spaced colors would mix to white. A complementary color pair is the fewest number of colors necessary to engage all three cone cells in the eye; for example,

R + C = R + (G + B)= White.

A split complement is in between a complement-pair and a triad, as shown in the second figure below.

So for the watercolors I started this discussion about, I had found an old tube of flesh color that I had bought while in Taiwan. I was oddly attracted to this totally artificial-looking hue as a representative for human skin, and it also seemed like a good challenge to get it to work harmoniously in a painting. To understand it better, I first went about trying to remix that flesh color with my other single pigment paints. It turned out to be a mixture of red, yellow, and lots of white — basically a pastel orange. The complementary color of this is a Cyan-Blue color, which I chose to be the pigment Indigo. I added to this pallet Yellow Ochre, which is a reddish-yellow, and Venetian Red which is a yellowish-red, which when mixed make an orange, though much earthier than the orange in that tube of Barbie-like flesh tone.

Once I had the four colors I felt best about (which also took into consideration other characteristics of a pigment, such as how grainy they are), the painting became a process where intuition, chance, luck, skill, and the weather all played equal parts in creating a work of historical record — never to be repeated equally again.

–Geoffrey Owen Miller

Thanks, Geoffrey!  I’d like to remark that I asked Geoffrey to elaborate on the statement “Once I had the four colors I felt best about….”  How did he know what colors were “best”?  Geoffrey commented that it was “like Tiger Woods describing what goes through his mind when he swings a golf club.”

As I thought about his comment, I appreciated it more and more.  A color wheel is a tool to help you organize thoughts about colors — but a color wheel cannot choose the colors for you.  This is where artistry comes in.  Using your tools as a guide, you navigate your way through the color spectrum until — based on years of practice and experience — you’ve “found it.”

But this is exactly what happens when creating digital art!  It is easy to find the complement of a color from the RGB values — just subtract each RGB value from 1.  Sometimes it’s just what you want, but sometimes you need to tweak it a little.  While there are simple arithmetic rules relating colors, they are not “absolute.”

So it all comes back to the question, “What is art?”  I won’t attempt to answer this question here, but only say that having tools and techniques (and code!) at your disposal will allow you to create images, but that doesn’t necessarily mean that these images will have artistic value.

I hope you’ve enjoyed my first guest blogger — I’ll occasionally invite other bloggers as well in the future.  I’m off to Finland for the Bridges 2016 conference tomorrow, so next week I’ll be talking about all the wonderful art I encounter there!