<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.alumican.net &#187; 流体シミュレーション</title>
	<atom:link href="http://blog.alumican.net/tag/%e6%b5%81%e4%bd%93%e3%82%b7%e3%83%9f%e3%83%a5%e3%83%ac%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.alumican.net</link>
	<description>日々の記憶と記録とActionScript とその周辺</description>
	<lastBuildDate>Tue, 20 Jul 2010 16:21:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fluid on the Video</title>
		<link>http://blog.alumican.net/2009/05/12_202244</link>
		<comments>http://blog.alumican.net/2009/05/12_202244#comments</comments>
		<pubDate>Tue, 12 May 2009 11:22:44 +0000</pubDate>
		<dc:creator>alumican</dc:creator>
				<category><![CDATA[DEVELOPMENT]]></category>
		<category><![CDATA[ActionScript3.0]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[wonderfl]]></category>
		<category><![CDATA[流体シミュレーション]]></category>
		<category><![CDATA[物理]]></category>

		<guid isPermaLink="false">http://blog.alumican.net/?p=713</guid>
		<description><![CDATA[
前回のエントリに書いたyugop氏の言葉にもろ影響されてますが、美しいものを作りたくなったので、やったった。ActionScript3.0で流体シミュレーション。ついでにサイトトップも更新しました。 
実はまともにDi [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;width:100%;margin-bottom:15px;"><iframe title="Fluid on the Video - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/wM1h" width="465" height="490" style="border:0px black solid;"></iframe></div>
<p><a href="http://blog.alumican.net/2009/05/12_134205">前回のエントリ</a>に書いたyugop氏の言葉にもろ影響されてますが、美しいものを作りたくなったので、やったった。ActionScript3.0で流体シミュレーション。ついでにサイトトップも更新しました。 </p>
<p>実はまともにDisplacementMapFilterを使ったのは初めてでした、うへぁ。流体シミュレーションも初めてだったので色々戸惑ったけど、まあまあおもろいもんが作れた気がするぞ。</p>
<p>どうやってるかというと、基本的なアルゴリズムは<a href="http://violentcoding.com/blog/2008/07/26/archives/135">blog ViolentCoding</a>さんのを使っていて、それを動画に適用した感じです。で、そのまんまだとマウスを素早く動かすとゼリーみたいにぷるぷるしちゃったので（可愛いけど）、ドロっとするようにアルゴリズムを改造。あとは高速化のためにセルを2次元配列で走査するのではなく、リンクリストを使うように変更しました。他にも色々やった気がするけど、忘れた。</p>
<p>リンクリストってのは、隣のセルを参照として持っておいて、その参照を使って隣へアクセスする方法。配列演算子を使わずに、隣へ隣へとセルの参照をたどることで、まるっとアクセスします。</p>
<p>今回は各セル毎に、forに代わる次セルへの参照と、流体の速度場を更新するための上下左右8方向のセルの参照を持たせました。これがめっぽう速いのなんのなのです。（フレームレートで言うと5フレームくらい違う）</p>
<p>なので、今度から頻繁に配列を回すときはリンクリストを使うようにするとよさげです。ターゲットプレーヤーが10のときにVectorとどっちが速いのか要検証ですが。</p>
<p>あと、この流体表現。<br />
<span style="color: #ff0000;">ライブラリは必殺技</span>という精神に基づいて、<a href="http://www.trick7.com/blog/2008/07/27-205806.php">trick7さんのTeraFire</a>みたいに</p>
<pre><code>alumiFluid(target);</code></pre>
<p>とかで任意のオブジェクトを液状化できると素敵なので現在制作中だったりします。もちろん、汎用流体ライブラリとしても使えるようにするつもりです。需要あるかどうか分からんけど。</p>
<p>wonderflのはソースにコメントを書いてないので、ライブラリ化のときにちゃんとします。少々お待ちを、すみません。</p>
<p>では～。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alumican.net/2009/05/12_202244/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
