Masoud Akbarzadeh and I have put together a website with a good deal of material for the upcoming release of RhinoScript in Python. Take a look : www.pointcrowd.com

Masoud Akbarzadeh and I have put together a website with a good deal of material for the upcoming release of RhinoScript in Python. Take a look : www.pointcrowd.com


Image by Varvara Toulkeridou.
The last two weeks I’ve been co-teaching a Rhino-Scripting class with Skylar Tibbits and Steffen Reichert to help introduce algorithmic design to some of the non-computation architects at MIT. We’ve set up a blog with much of the students work here.
The students all produced really impressive work and I’m proud to have participated in this class. Hopefully, I’ll carry the torch next year and head up the effort to expose the architectural community to some of the ideas that we work with in computation.
A few images from a project I’m working on modeling Atlantic tuna populations:
Gratuitous 3D representation of the anchovy, tuna and bluefish population under certain parameters.

The individual populations in time and vs each other.

A few long term behavior diagrams showing results of overfishing (if unclearly).

I am working on a long term project investigating higher dimensional space and how it can be understood in architectural/spatial terms. The eventual goals for the project include instructive and generative tools for designers as well as a pedagogical agenda towards a better understanding of Cartesian space in architecture.
The diagrams below demonstrate a particular form of projecting three dimensions into one and I’m working already on the next which will be projecting 3 dimensions into 2.
First, we establish a projection window and some geometry to project:

Then, we capture anything that’s in the window and project it.

Eventually, I hope to be able to make clear explanations about what it means to project 4, 5, etc dimensions into 2, 3 or more.
via kottke, this fractal:

is being explored by Fred Scharmen. It’s so simple, yet so complicated. I’m suspicious that it’s analog to something else but I don’t see what. Hmmmmm.
Below is an applet that I made for Terry Knight’s Inquiry into Computation class. The intent is to, in an AI kind of way, probe into the ability of computers to do what people are naturally really good at. In this case, given a set of lines, the code finds squares and rotates them by 45º. Considering the simplicity of the task and that it is a well defined task, the code was a real pain to write on account of lots of special cases.
Incidentally, everything is done in exact terms with zero margin for floating point errors. This is accomplished by storing points as pairs of elements in a quadratic field,
with D=2. This allows for 45º rotation while maintaining integer accuracy. (the coefficients are rational, so they have integer accuracy.)
All Java code is in this rar file

As it turns out, the function defined here,
S(1)=0
S(2)=4
etc…
is non-computable, which is to say that we can prove that we’ll never be able to know that we can compute it in finite time. This is a Gödelian kind of statement (“we know that we will never know”), and has conter-parts in Heisenberg’s uncertainty principle and Lorentz’s equations. I was first made aware of non-computability in the context of a non-computable number, of which Chaitin’s Constant is an example. These proofs all work in essentially the same way by assuming that something is know and then proceeding to a paradox (normally, in mathematical terms, I’d say contradiction, but because these are statements about statements, paradox seems more apropos).
This is interesting to me specifically when discussing engineering tolerance or experimental error. As someone who constructs (tolerance) and measures (error), I must be aware not only of the static discrepancies in fabrication but the dynamic physicality of weather, camber and time. The material world does not adhere to rigid abstractions and Heisenberg proved that infinitesimal refinement is not a solution to this dilemma.