color sorting

I find the idea of sorting a set of colors in interesting ways. It’s very much a perceptual problem. Different people will sort a color palette in different ways.

“web” palette sorted by saturation. (Some of these examples are truncated for formatting, see the sortpal pages for fuller versions)

People organize colors differently. Lots of ways to sort them mathematically. Some map well to what people perceive as correct. Some do not.

web palette sorted by proximity in rgb colorspace

Sortpal is project to try to visualize what some of these different methods look like, and how they compare to each other. It shows a set of color palettes, sorted by the various attributes like it’s redness, or brightness, or saturation. For example, in the “red” row, the reddest colors are at the far left and decreasingly red colors to the right. The width of the color depends on the number of colors in the palette.

web palette sorted by redness

Different color palettes can be chosen, including the 216 “web safe” palette (wiki), the X11/css “named” colors (wiki), the xkcd color survey (xkcd color survey), a rough approximation of the spot colors often used in print, a Hilbert curve through rgb space (wiki), misc artistic palettes, etc.

The sort methods fall into a couple of sorts (ha!):

Sorting by one component of a color space, the most obvious being the red, blue, green values of RGB:

web palette sorted by red, green, blue respectively

Hue, saturation, and value (HSL and HSV) is another color space, that maps a lot more naturally to how people understand colors.


web palette sorted by hue, saturation, value, lightness, respectively.

Hue or Saturation are probably what most people think of as the natural way to sort colors.

Another approach is sorting by proximity in the 3d color space. The idea being to start at the origin, and find the closest colors in 3d.

Hue, Saturation, Lightness 3d

Hue, Saturation, Value 3d

Red, Green, Blue 3d

The code is up at github. No promises to it’s correctness or functionality.

Note that for the most part, all of the methods shown here are described as being one parameter sorts, but in some cases there are secondary and tertiary sorts as well (hsv3d, and chroma ) mostly just to stabilize the sorts.

Business card caliper

This is a project I’ve been experimenting with at Techshop Durham. It is a laser cut business card that folds up to create a working caliper. I’ll probably make some for myself, Rod-o-Rama, and lintqueen.

card_red_2
The card in “ready to hand out” mode

card_caliper_1
Card assembled, ready to use. These particular examples were actually cut out of paint chip cards (lintqueen’s idea).

card_caliper_2
After snapping out parts.

card_caliper_slider
Folding over the slide

card_caliper_assembly
Next step in assembly.

card_caliper_complete
Assembly completed.

card_caliper_8mm
In action, measuring an 8mm hex key. Accuracy and precision are not too bad for something folded out of paper.

It’s cut and engraved with the epilog laser cutter at Techshop Durham. Initial design scratched out on paper, transferred to Inkscape, final tweaking in Corel Draw (actualy, lots of tweaking, since it did a horrible job importing the svg).

It still needs some refinements, like better instructions and possibly an illustration or two. I have some minor aesthetic tweaks in mind as well, but this version is mostly complete.

The corel draw source file is here. That file could use some cleanup, and I’d like to get it back into a open format like svg, but that will do for now. Consider it under Creative Commons.

Creative Commons License
Business Card Caliper by Adrian Likins is licensed under a Creative Commons Attribution 3.0 United States License.
Based on a work at www.adrianlikins.com.

laser cutter cutting

Fiddling around with the laser cutter at Techshop. I used inkscape to vectorize some doodles, then cut then out of paper using the Epilog laser cutter at Techshop.

Paper cuts very well, with pretty good detail (see the hatching cut out from the doodle in the front for example). I’ve tried cutting acrylic as well, and it cuts well too, but in some of the detail areas, it unmelts into a bit of a blob that makes detailed parts harder to extract. Need to try it again with more power to see if it will cut a wider kerf.

I also tried engraving/rasterizing an image. I think it turned out pretty well, almost exactly what I was looking for. It did burn through a little bit in one section, but I could fix that in the image. The image itself started off kind of “pointilist”, which I vectorized with some of the settings tweaked a bit so it would blurb some of the points together so it would hold together. Then I “engraved” it instead of cutting it out, but with the power set high enough to burn through the paper.

it will blend

Spent most of Sunday trying to learn how to use Blender (Blender the 3d modelling app, not the home appliance. I’ve already gotten my KACBO [Kitchen Aid Certified Blender Operator certification]).

I knew it was a fairly impressive app, just from seeing what the kids did at the Red Hat High blender course a few years ago.

It’s not the easiest thing to learn how to use, especially since I haven’t really tried any 3d apps in about 10 years. The last time I tried it, it was all CSG based apps for building models for POV-RAY. Blender is mostly a mesh based modelling tool, like most modern 3d apps.

The main motivation being a combination of sites that offer web based 3d printing like shapeways.com and the possibility of Techshop Durham getting a 3d printer in the future.

I only made it through a couple of the tutorials so far, but it’s been fun. Just need to figure out something cool to design and print.

Nerd News

Tech Shop is coming to Durham

Gimp 2.4 released. I’ve got a couple small patches in this release (some of the photoshop brush (.abr) support, and the brush”jitter” stuff). Hopefully devel on 2.6 will start soon and maybe I can get a couple of my old patches included this time.

The Secret Life Of Machines are now available for download in multiple formats.

Func. My latest project from work is FUNC. It’s an idea I’ve been tossing around for years, and we finally sat down and churned it out. It’s basically a web services (in our case, xml-rpc) systems management framework that uses ssl for client and server auth with a pluggable backend for extending the api.

gimp brushes

So I’ve been tasked with trying to update the set of default brushes included with GIMP for it’s 2.4 stable release.

So, since this gets syndicated in a couple of planets for free/open graphics software, I figured I’d ask if anyone has any interesting brushes they would like to see included by default. High res brushes and brushes demonstration the brush pipes in particular would be good, but I’m interested in seeing what folks have.

laptop

I got bored and decorated one of my laptops.

Process was:
– doodle onto paper with pen
– scan paper with scanner
– clean up scan with gimp
– import scan into inkscape
– autotrace doodle into a vector image
– resize as needed
– print onto “window decal” inkjet paper
– apply

Of course, for those images, some of those steps were separated by years.