Tuesday, December 6, 2011

Tate Modern, London, UK

Tom and I saw the Gerhard Richter retrospective. The whole first room related to Duchamp, including the famous Nude Descending a Staircase. A tribute to the Large Glass was there too:

4 Panes of Glass
Gerhard Richter
1967
11 Panes
Gerhard Richter
2004
In a later room was this piece in the same series, which gave the viewer a Richter-like reflection.

Wednesday, November 23, 2011

Paintings by Anne Truitt

Sculpture in Anne Truitt's Washington DC studio
1980
Truitt, like Kenneth Noland, is considered a Color Field artist. She did works on canvas but was truly wonderful as a painter-sculptor. She gave pigments a bodily form, so they stand like people in the room.

Valley Forge
Installation at the Dallas Museum of Art
1962

Monday, November 14, 2011

Gamma Correction

LED color mixing advice from a friend:
I usually write a C99 program that runs on an actual computer to generate a gamma correction table that I include with the program running on the microcontroller. It gets stored in the flash memory of the AVR so it doesn't use up any precious RAM:
#include
#include
#include
#include
int main(int argc, char *argv[]) { printf("uint8_t gammaCorrect[] PROGMEM = {"); uint8_t i = 0; do { printf("%s0x%02X,", (i % 8) ? " " : "\n ", (uint16_t)(pow((double)i / 255.0, 2.5) * 255.0 + 0.5)); } while (++i); printf("\n};\n"); return 0;}(save as main.c, compile with: "gcc -std=gnu99 -c main.c -o main.o", link with: "gcc -lm main.o -o main", run with: "./main")
and you should get as output:
uint8_t gammaCorrect[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x16, 0x16, 0x17, 0x17, 0x18, 0x19, 0x19, 0x1A, 0x1A, 0x1B, 0x1C, 0x1C, 0x1D, 0x1E, 0x1E, 0x1F, 0x20, 0x21, 0x21, 0x22, 0x23, 0x24, 0x24, 0x25, 0x26, 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4B, 0x4C, 0x4D, 0x4E, 0x50, 0x51, 0x52, 0x53, 0x55, 0x56, 0x57, 0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0x61, 0x62, 0x63, 0x65, 0x66, 0x68, 0x69, 0x6B, 0x6C, 0x6E, 0x6F, 0x71, 0x72, 0x74, 0x75, 0x77, 0x79, 0x7A, 0x7C, 0x7D, 0x7F, 0x81, 0x82, 0x84, 0x86, 0x87, 0x89, 0x8B, 0x8D, 0x8E, 0x90, 0x92, 0x94, 0x96, 0x97, 0x99, 0x9B, 0x9D, 0x9F, 0xA1, 0xA3, 0xA5, 0xA6, 0xA8, 0xAA, 0xAC, 0xAE, 0xB0, 0xB2, 0xB4, 0xB6, 0xB8, 0xBA, 0xBD, 0xBF, 0xC1, 0xC3, 0xC5, 0xC7, 0xC9, 0xCC, 0xCE, 0xD0, 0xD2, 0xD4, 0xD7, 0xD9, 0xDB, 0xDD, 0xE0, 0xE2, 0xE4, 0xE7, 0xE9, 0xEB, 0xEE, 0xF0, 0xF3, 0xF5, 0xF8, 0xFA, 0xFD, 0xFF,};include that in the AVR code, making sure you include the proper header:
#include
and then use it as follows:
output_value = pgm_read_byte(&gammaCorrect[input_value]);to convert an 8-bit "input_value" into a gamma-corrected "output_value", which is the actual brightness value you should set the LED to.

Friday, November 11, 2011

Güten Plotter


I'm using the Makerbot Thing-O-Matic to print all the translucent parts (3 cars, 4 gears). Each piece takes around 5-7 hours to print and this is the 11th iteration of the cars (hence the lambda). Earlier iterations have plotted mathematical functions (monster functions, specifically); vector images are the ultimate goal. This is the first version to use 1/4" steel rods, as opposed to the aluminum 3/8" rods that had long been a limiting factor.

Tuesday, November 1, 2011

Paintings by Botticelli

Primavera
1482
From right to left we see Zephyrus taking the nymph Cloris by force, transforming her into the goddess of Spring and giver of life. This story comes from Ovid, and Botticelli indicates that this is the same character at two different points in time by showing her garments blowing in two different winds. In the center is Venus, goddess of beauty in red, blue and gold. Above her is Cupid, god of desire in the colors of the Medici. His arrow is aimed at the three Graces, obliviously dancing a roundelay. In the red to counter Zephyrus' blue is Mercury, the messenger god, keeping the clouds away.


Calumny of Apelles
1494

This is another allegorical painting, one of Botticelli's last. It is a recreation of a self-portrait of the painter Apelles, which had been destroyed but was described by the ancient writer Lucian. Apelles had been falsely accused by a jealous rival, a story familiar to Botticelli's life. In the painting, from right to left, we see: Suspicion and Ignorance whispering in the donkey ears of King Midas; Envy reaching out to request judgement; Conspiracy and Fraud adorning Slander with the attributes of beauty; innocent Apelles dragged by his hair; Repentance following in tatters, looking back at the statuesque Truth, who is pointing to the only true judge.

Thursday, October 27, 2011

Scuderie Quirinale, Rome, Italy

Lisa and I went to Rome and saw an exhibit of Botticelli & Lippi at the Scuderie Quirinale. It was light on the Botticellis but told an interesting story. This was Lippi the younger, the illegitimate son of Botticelli's painting teacher, who in turn became Botticelli's student. Lippi was competent but not gifted. But when Botticelli suffered his crisis of faith and turned away from his wealthy patrons, Lippi quickly filled the void. Lippi did make some interesting work in this time, whereas Botticelli made only biblical works in muted tones.

The Adoration of the Magi
Sandro Botticelli
1475
The Adoration of the Magi
Filippino Lippi
1496

Sunday, October 9, 2011