Thursday, April 7, 2011

Beta-Max

Hey Everyone,
So this week I tried doing two new implementations of my rotational springs. The first one I did earlier this week was an implementation recommended by Steven Gray. Rather than just applying forces to the corner of the lattice these rotational springs apply forces to multiple points. I originally tried applying forces to the points that neighboring the rotation axis. However because the lattice is not incredibly stiff, it only moved those neighbor points across the axis and did not move the entire paper. So I changed the implementation so that all the points above the a rotation spring are affected. So basically an entire rigid body is folded here. This proved to have better results since the forces added on each point are proportional to the distance from the rotation axis. However I feel that it becomes much harder to control where points are moving with this method.

This lead me to the another new implementation. In this implementation I once again allow for multiple points for the torque to act upon. However it is only used when acting upon an edge rather than a corner. This way I can use only one rotation spring in a horizontal/vertical fold rather than two as I was doing in the past. I also setup an XML input method that makes sure that each torque point has a structural spring to help support it. I also make sure that the structural springs turn off when that rotation spring is not active because they can interfere with other rotation folds. Because I changed the XML format for this new rotation spring I spent an hour going through and updating my previous XML files, making sure each one still worked. Some of them did not, which helped me find bugs.

This was all leading up to trying to fold the traditional dog model. This paper: http://www.csc.calpoly.edu/~zwood/research/pubs/origamiCATA06.pdf shows intermediate steps folding the traditional dog. I was able to put together most of the folds for the dog, but it is not quite finished yet. I still want to make tweaks to it and try it on a slightly larger lattice. However I am now 95% sure that I can fold that model with my simulator, which is great. The traditional dog does have a squash fold in it, which does make it technically not pureland. So maybe in the future I can get other stuff working.

So this past week was also beta review. I think it went well. The major thing it did was change how I am going to approach the last few weeks. The first thing is no more GPU implementation. I am going to concentrate on getting memory and material properties worked out so I can put them in the report and on my poster. After I finish those I will use Joe's code for taking the jello cubes into maya and do a bunch of nice renders and animations for my final video. If I have time after that, which I won't, I'll try to get a simple UI built so I can draw out folds rather than writing the XML. So my schedule as it stands is:

April 8th- 14th
  • Memory
  • Material Properties
April 15-21st
  • Rendering
  • Poster
April 22nd-April 26nd
  • Presentation
  • Simple UI (Probably not)
April 29th and Beyond
  • Final Report
  • Commenting Code
I know this post did not have any videos in it, mainly because today was kind of an annoying day. Next post will have videos, including the folding of the traditional dog. So look forward to it.

1 comment:

  1. I approve of the title of this blog post.

    Also, I looked online to figure out what a "squash fold" is, and I think I get it. Would you need to do anything special to get that to work in your simulator?

    ReplyDelete