September 20, 2009


Random Graphics in Processing. もわもわ。

August 23, 2009

Function vs Class

In the beginning it was not clear for me what are the differences between "function" and "class" -given that both are sort of like a package that gives me a certain output depending on variables-.

Both look fairly similar to me as long as I'm working on a certain frame, but now I see that -as some professionals have told me- "class" can deal with more complex procedure. It is still hard to keep track with where I should assign variables.

In this case, world calls "class vein" multiple times in loop, and each "class vein" calls "class leaf" in loop. For example, color of leaves are defined in "class leaf" and number of leaves per vein is defined in "class vein."

Here is the source code comparison.
processing CLASS vs processing FUNCTION

Parametric Processing

Those graphic reminds me of IKEA pillowcase...

Going through a processing tutorial book, "Processing -A Programming Handbook for Visual Designers and Artists."

Those veins are constructed only using "function." I'll try the similar graphic using "class" to see the difference next time.

July 24, 2009

Spirograph Ver.2


ダイヤルの数増やしてみました。親ダイヤル、子ダイヤル、孫ダイヤル、ひ孫ダイヤル... もちろん user が数決められますよ。

java で書いてscreensaver にでもすればかわいいと思うけど、これは Rhino vb です。そろそろobject 思考に挑戦したいと思っています。Rhino Main 職人は卒業しましょう。

Spirograph with multiple generation of dials. Not possible in the original toy. Hope you enjoy :)

June 24, 2009

Dial Animation

Still messing around with Spirograph...

What if I had multiple generations of dial drawing patterns? Well in that case, I cannot rely on math functions for Spirographing. Basically I have to employ recursion function in VB, which confused a good chunk of my brain. Drawing diagrams and breaking code into a little tasks definitely helps and here is what I came up with.

(left) Dials rotate along each parent's perimeter by an user defined angle. (right) User defines a dbl revolution for the first dial. The following dials rotate according to the arc length.

dblRev = 1 for 360deg. Initial dial revolution (dblRev) changes from 0.1 to 0.5. These steps become animation frames.

June 7, 2009


spirograph function を使えばパターンはすぐ描けましたが、ダイヤルに思いのほか苦戦してしまいました。なんだか和菓子みたいです。

Spirograph ♪♪ I have been wanting to try this out for a while.

It should have been my personal java project, but got impatient letting my skill catch up with ideas. So ended up doing it in vb.

Gray circles and lines that overlap with colored patterns are the dials and offset points (wholes for pencils). Spirograph function takes care of the offset points that are outside the moving dial. Users have an option whether inside circle or outside one moves. I placed line color in a loop and had a lot of fun!

April 18, 2009


晴れて H-1b ステイタスを獲得しました :)



April 17, 2009


**Sakura = Cherry Blossom
**kokkugia /workshop contents

Spring time in LA! ...and I'm missing Japanese cherry blossom.

As a result (?), my first processing work -since I was exposed to the media in Roland Snooks's workshop- ended up like this. There are various helpful source codes available on his site.


**Hotaru = Firefly
**kokkugia /workshop contents

hmmm... lighting effect is trickier than I thought would be. Learning from flight404, yet openGL is not within my bag of tricks at this point. I'm using multiple layers of transparent circles to make them look like they are flickering.

March 20, 2009

Tsumuji Field

**Tsumuji = Hair Whorl

なにやら も

Now that I figured out double Tsumuji, next step was to create field of surface normals effected by n number of Tsumuji points. Parameters are uv surface division numbers and number of Tsumuji points. Geometry is written in Rhino, then exported to Illustrator.

Referece: Double Tsumuji, Single Tsumuji.

March 17, 2009

Santa Caterina Market


Fun case study for panelization. Santa Caterina Market
by Enric Miralles and Benedetta Tagliabue.

March 16, 2009

Hexagon Panelization

ヘキサゴン! ヘキサゴン!! 春の新作。
Surface Penalization with hexagons.

Each panel is flat, leaving slight gap to its neighbors. I started with hexagon-shape grid on surface as in the last image. Six points are identified and stored in array per one panel. Then to produce flat panels, I projected each vector to each normal plane (red). Vector projection is simple VectorAdd method except that I needed to flip the normals (blue) depending on the beginning angle between normals and direct vectors
(white) on surface.

Enjoy :)

February 9, 2009

HEART ver.3

Heart Installation by VRO in Progress. Geometry on the left (in each image) is revised Heart.

I started modeling Heart to quickly visualize this complex surface in relation to the site -for example, to check clearance, cable hanging locations, and ring sizes.

In the beginning, this minimal surface modeling itself was challenging, but now I think I got CATIA model under control for fine tuning the geometry. And working closely with engineers, we found that previous version (right in each image) had problems finding form since three rings are set perpendicular to each center cable. Three arms should have kept tangency to cables that meets at connection point to the ceiling.

February 5, 2009

Double Tsumuji

**Tsumuji = Hair Whorl

image1, 2, and 3

What if there are multiple Tsumuji points on surface to effect the filed condition? Solution is to create a field condition per a Tsumuji point, and to VectorAdd the each effected normals. As shown in above, image2 shows the field for cyan Tsumuji point, and image3 shows the one for red Tsumuji point. In image1, cyan and red vectors are added to get the result vector direction.

January 23, 2009



とは言うものの週末はお引越し。まるごと週末使えるようにバタバタ仕事を片付けていく様、まるでテトリスでもプレイしている気分です。そのうち拾いきれなかった灰色のキューブが塊になって、でででででっと積みあがってしまうんだ。。。 あれ?これはぷよぷよだったかしら?

仕事を始めたすぐにでも引っ越せばよかったものを、アパートが気に入っていたので SCI-Arc 周辺の治安の悪い地域に住んでいましたが、ようやく意を決しました。これで毎朝車の窓が割られていないか心配することもなくなります。ただ、そうやって毎朝毎晩おばけなんかより人間のほうを警戒していたおかげで霊的なものがすっかり怖くなくなってしまいました。






好きだったら のびますからって。

January 15, 2009

Vector Tsumuji

**Tsumuji = Hair Whorl

Image 1:
Function preparation for Tsumuji on surface. Among the point field, user can assign a center point (I call it Tsumuji point) so that all the other surrounding vectors will be effected.

1. Create direct vector from the center Pt to a target Pt.
2. VectorCrossProduct 1. and Z axis.
3. VectorAdd 2. and Z axis.

Keep the dblLength of 1, then use later to adjust the length of each vector according to how far a target point is from the Tsumuji point.

Image 2:
Applying the above function on surface normals.

January 5, 2009

Smart Geometry 2009

Happy New Year!

I'm applying for Smart Geometry Conference. Computational and parametric design approach and solutions I got interested hanging out in SCI-Arc... it would be fun to see what I can do to collaborate with tough professionals in practice, academia and research.

Let's see what happens...