I left that in as allowable behavior, because our goal with this was not necessarily to model a realistic cloth but more to experience interesting and unusual movements and behaviors. So glitch away!
I'd started off this project by using a fancier ray-tracing method of detecting and avoiding collisions with arbitrary shaped objects. Unfortunately it was just too slow for satisfying real-time performance. So finally, I went with doing the collision detection in a case-by-case way for more simple shapes (ball, table, etc.). The poles would be easy to add as an option, I may try to add that in. Thanks for the suggestion!
Hi, thanks for voting this up! I created this with a few colleagues. Our goal was to make a fabric simulation tool that might inspire creative exploration among artists and engineers. I hope you find it fun to play with, and welcome any feedback and suggestions on how to improve this.
We started from a three.js cloth simulation example and made a bunch of modifications. The cloth is modeled as a grid of point masses (particles) connected by springs. We've got options for horizontal & vertical springs (simulating cross grain, where the cloth threads run parallel to the edges), diagonal springs (simulating bias grain, where the cloth threads run diagonally), and springs that connect particles two units apart (simulating drape / bending stiffness, similar to a starched tablecloth). It's kind of amazing how a simple system of particles and springs can result in such rich cloth-like behavior. Other than the springs (which are modeled as constraints on the distance between particles), the only forces on the particles are wind and gravity. In addition we have constraints that account for collisions and simulate friction-like behavior.
We've submitted a paper that explains the details of how this works which I'll share once it's published, but for now if you're interested in learning more here are a few references, or google 'verlet integration constraints'. Also happy to try to answer your questions.
I'm not the author, but enabling NoSelfIntersect totally ruined the frame rate for me. I was barely able to open the controls to disable it again. It's possible it's not on by default as a performance consideration.
Yup, that setting is implemented in a somewhat naive way. The way it works is that I iterate through every pair of points on the cloth, check for when they get too close, and if they are, I introduce a spring to push them apart. So effectively this introduces a short-range repulsive force between pieces of the cloth.
Avoiding self intersections results in more realistic cloth behavior like folds and wrinkles. The problem is, iterating through all pairs of points comes at a computational cost, and can really drop the frame-rate, particularly for large cloths. So I decided to keep this setting off by default until I have a smarter way to implement this (e.g. using quadtrees).
Very well done, highly mesmerising - loved it. Am just using my S2 Tab now and wasn't expecting such smooth performance (NoSelfIntersect unchecked). Will check out your references.
Built starting from the Three JS cloth simulation example. Our goal is to create a fabric simulator that can serve as a tool for artistic exploration and expression. Would appreciate any feedback.
Hi, I'm one of the authors of the piece. Thanks for voting us up here. Hope you like what we're doing, and let us know what you think. If you're looking to read more of our posts, you can follow the blog on twitter @noticingblog (or on RSS). Cheers.
1. Great typography.
2. Useful illustrations and
3. A great single column layout, which is easy on the eyes.
4. No annoying popups asking me to subscribe to mailing list.
5. Loads super fast.
And to top it all, the actual content is amazing. I am subscribed!
Can a decrease in oxygen from 35% down to 21% really explain a decrease in insect size from eight-and-a-half feet down to just 3 inches? Is there an interesting mathematical relationship here, or are there more factors at work?
We spoke to Jon Harrison about this (the scientist we interviewed who studies insect growth & respiration). He says that the truth of the matter is we don't know the answer, it's still a hypothesis that the way insects breathe keep them small. There are other competing explanations, like that it's insect's exoskeletons that constrain their size, or ecological arguments (fewer predators means they can grow bigger). Also spiders don't use trachea to breathe but are also small.
One piece of evidence favoring the oxygen hypothesis is research that shows that the fossil record on giant insect size correlates with the oxygen levels in the past, all the way up until birds evolved (and wiped out the ecological niche for giant flying insects!)
And I'm told there's some more interesting work along these lines that's yet to be published.. so hopefully we should know more soon.
Lastly, there's all kinds of experimental work on breeding insects in high oxygen environments, but the results so far aren't universal.. some kinds of insects grow bigger, other's don't. The idea being that oxygen can help the insect grow but can also do damage to cells (in a way similar to aging), so you may need a long while to evolve and adapt to higher oxygen levels.
> Lastly, there's all kinds of experimental work on breeding insects in high oxygen environments, but the results so far aren't universal..
In my completely uneducated experience, it seems like this should be easy to test. Wouldn't it be easy/cheap to over-oxygenate a room, and put bug-farms in there. Is it more complex than that?
The issue, I think, is that experiments like that would only tell you so much, because the insects aren't adapted to the high levels of oxygen (which can be kinda toxic, particularly at higher concentrations). So to really understand this you'd need to breed insects in high oxygen over many, many generations, and have them evolve in this new environment. That takes a lot of time and money. Jon's lab has done it with fruit flies, and they do grow bigger over the generations. But as far as I know (which isn't a lot), folks haven't done those kinds of multi-generation experiments in many species.
Hi there. Sorry about this, I didn't realize it was 'hijacking scrolling'. I tried a possible fix. Could you let me know if you still see the problem? Thanks.
Scrolling, highlight/selection colour, fixed-position elements (I've ended up nuking your site's header entirely), autoplay audio/video, mouse action, click actions (either opening left-click in new tab, or center click in same tab), etc.
All violate the principle of least surprise/astonishment. Quite annoying.
If you don't like the defaults you can change it to what you want with a local default stylesheet. The issue isn't that the default is sane but that changes from default are jarring.
Hi there - I'm a co-author of the post and put the site together. I'm sorry to hear that the scroll is acting up. I'd like to fix that. Can you (or anyone else seeing this issue) tell me if you see the same behavior on the other posts on the blog or just this one? Thanks.
EDIT: I disabled the 'smooth scrolling' option in my wordpress theme settings to try to fix this. Please let me know if that worked or if you're still seeing the issue. Thanks.
I had the terrible scroll when I first loaded the page 1-2 hours ago but can't reproduce it now on any of your posts including this one. Chrome 45.0.2454.85 64-bit linux.
Almost unusable once the jumping can of beans was in view. On Firefox latest stable, windows 8.1. Scrolling was happening in bursts and the entire browser UI was frozen. Once I managed to scroll past it, it worked fine.
ok, I think I see the problem. I swapped out that cocktail shaker animation with an animated gif of the same. Hopefully it should work smoothly now. Thanks for your help!
No, it doesn't make sense to track the center of mass of the skateboarder here. If you're interested specifically in the forces on skateboard, you want to track the center of mass on the skateboard. If you include the skateboarder in your system and track the new modified center of mass, you will only see the effect of gravity, being the only remaining external force.
Tracking the centre of mass of the skateboarder would give you an idea of how to get additional height on your ollie. Essentially sucking up your legs, bending at the waist and throwing your arms down will allow you to clear higher obstacles.
The sound was only audible up to 3000 miles in radius, or about 1/13th the globe. It wasn't audible in the other side of the Earth (although it was detectable.)
He mentioned the "exact antipode on Earth", so he's probably thinking of an effect similar to antipodal chaotic terrain [1]. The fact that sound was only audible up to 3000 miles in radius is not enough to rule it out, you need other arguments.
I left that in as allowable behavior, because our goal with this was not necessarily to model a realistic cloth but more to experience interesting and unusual movements and behaviors. So glitch away!