Fork me on GitHub

@meow: yea the mesh stuff is definitely more complicated than one might hope


the color blending stuff is looking really cool


did you render that with the ray tracing engine that karsten uses?


@pleasetrythisathome: No, I've got a very crude but effective process. I'm doing mesh manipulations using geom plus Conway polyhedron operations that I'm writing in Clojure to work with the mesh provided by I'm generating X3D files that I look at using View3dscene. When I finally get the object looking interesting enough I upload the file to my Shapeways account and then view the object using their renderer and save the image as a jpg file that I then load here or to twitter.


The colors are being attached to each face of the polygon mesh. I have different functions that determine what color to put on each face according to different criteria. For that last object I used the absolute value of the [x y z] normal of the face to determine the [r g b] color of the face, then ran the mesh through some color blending code I'm experimenting with that blends each face with the colors of its adjoining neighbors and repeated that 12 times, kind of like 12 generations of a cellular automata process. Why 12? Because that turned out to be the Goldilocks moment when the color of the faces makes the polygon look fairly different from the real underlying topography without being a washed out mess. Lots of trial and error and surprises, which is what makes this so much fun. I have no idea what will come out of these ideas I have.


The other way to handle color is to associate a color with each vertex of each face. The color is then rendered by interpolating any color differences among vertices over the surface of the face. Whereas right now I'm only associating a single color for the entire face. With per-vertex coloring I'll be able to come up with even more crazy configurations and optical illusions.


There are just so many parts of this rabbit hole to explore its ridiculous. simple_smile


Here is the shapeways render for the above object without color:


Not very interesting.


i actually think the shapeways rendering is pretty rad


that's a really great hacky way to get cool renderings without having to do it yourself


definitely interested to see what else comes out of your color experiments


one idea might be to try a more limited color pallete


but still do similar operations


full RGB always tends to make things look like rainbows


@pleasetrythisathome: I agree about the rainbow effect. My stuff is pretty psychedelic right now because of that. Limiting the pallet is one thing. I also have done a little bit with using HSV for the color and then converting it back to RGB for the X3D file, which requires RGB.


I'm actually upping the psychedelics because I'm picking complementary colors in some of the code to get more contrast. 😉


I've always wanted to work with color code and now I have a very interesting pallet to work with since it is 3D combined with the fact that I can change how the polygons are divided up and how extreme the angles of the faces get, which effects the color when I use the face normals as a factor in determining the colors. It really gets interesting quickly. So many variables to play with.


A lot of mesh processing software out there is just trying to do things like smoothing out a mesh or reducing polygon counts without altering the visual quality of the shape too much. Which is great, and I've got some code like that as well. But I'm also working on introducing texture to get interesting effects like the goose bumps on this one, which I really like:


What I did there was take an icosahedron, modified it, including some smoothing, then at the last step before coloring it I applied an operation to subdivide every face into pyramids that were raised ever so slightly. The result looks way more interesting than the completely smoothed out version.


You can play with the model inside the viewer on shapeways via this link:


I'm a big fan of pulling color palettes from paintings or photographs (& using weighted averaging to get them in the same proportions that they appear in the source). That Adobe tool lets you pull palettes from images, but you just get a regular n-color palette from it.