ニートが頑張るブログ

ニートが現実逃避するために創作活動など色々とカオスに頑張ってみる
ニートが頑張るブログ TOP  >  2013年07月

紙製ユニコーンは進化の袋小路から脱却出来るのか?

ちょっと、ある考えから
前に作った「ユニコーンの折り紙」を改良しようとしてみました。


で、出来た結果がこれです↓
ユニコーン改

前回のユニコーンと今回のユニコーンの違いについて考えることで、
自分でも色々と見えてきたので、その話をします。


ORIPA用の展開図はこんな感じです。
ユニコーン改展開図
比率の問題があって、かなり折りにくいですが、その解決方法は一番最後の所に書いておきます。

ORIPA用のopxファイルは自サイトに置いてあります。

↓紙の使用状況はこのようになっています。  尻尾ツノの部分を水色にしています。

ユニコーン改

↓前に作ったユニコーンは、こうです。
ユニコーン旧


注目して欲しいのは、「足の部分」の円の配置状況です。

旧版のユニコーンでは「真横」に配置されていた円が、
「斜め」に配置されるようになっています。


これは良くある手法だと思うのですが。
要は、斜めらせることで、より効率よく紙を使おうということです。
(これについて、後で延々と詳しく語ります)


では実際に効率は良くなったのか、計算していきましょう。


「旧版のユニコーン」の足の長さを計算してみます。


折り紙の1辺の長さを、便宜上、「2」とします。
すると、足の長さは 2-√2となります。
(これは上の図を見れば、分かる人は補助線も引かずに分かるはず)


では「新板のユニコーン」はどうでしょうか。

こっちの計算はクッソめんどくさいですが、
これも実は、2-√2なのです。


つまり、足の長さが変わっていないのです。


どうしてこんなことになってしまったのか。


そもそも何故、紙の4辺を回避してまで円の配置を斜めにするのか、
そして何故、そうまでしたのに効率が上がらなかったのか、
そのことについて考えていきます。


まず、紙の4辺を回避してまで円を斜めらせて配置する理由は
ここです。 ↓ここの青色赤色の太線に注目です。

ユニコーン

ユニコーン改

このようなラインに注目すると、
足の円は真横に素直に配置するよりも、
斜めらせたほうが、足が伸びるような気がしてきますね。



ユニコーン改

ピタゴラス的に計算すると、
赤色の半径は、青色の半径よりも
√(4-2√2)倍、長くなっているように見えると思います。


√(4-2√2)というのは、小数で言うと1.08239…倍です


一割ほど足が伸びるかも知れません。


余談だけど、ここの「1.08239…」という比率を自力で導き出せるなら、東大に受かるかもしれんよ(暴論)


上の緑色で書いてる部分を見れば分かるけど、
この「半径が1の円」に外接している八角形の外周は、(√2-1)*16 = 6.62741699797…
これを直径の2で割ると、3.31370849898…

この数値を、例の「1.08239…」で割れば、半径1の円に内接する八角形の外周が出るワケです。

そしてその値は、
(√2-1)*16/2 / √(4-2√2)= 3.06146745892…となります。


つまりこの計算によって、「円周率が3.05より大きいことを証明せよ」という、
かの有名な問題も解けるようになるわけですね。


「12角形の内接」でやる人が多いらしいけど、自分は真っ先にこの8角形でやる方法が思いついたよ)
(6角形の内接じゃ“円周率=3”になってしまいます。 ゆとりです)

(ちなみに「半角の公式」も「余弦定理」も使っていませんね)
(ピタゴラスだけで証明しています。 つまり、中学生でも解けるのです


というわけで、「なるほどー。円を斜めに配置すると足が伸びるのカー」とおもいますよね。


これに騙されてしまうのがイカンのです。


実際は、そう簡単に、すぐに斜めらせられるワケではありません。
単純に斜めらせても、22.5度系の中ではきれいに折りたためないこともあるからです。


だから今回のように、それ用に考えなおした比率で計算しなおさないと行けないのです。
↓すると、こうなります。
ユニコーン改

このアニメを見れば一目瞭然ですが、結局、円の大きさが変わっていないのです。


「尻尾の方にスキマが出来てるじゃねーか! それを敷き詰めてないのが原因だろ!」
と思った人、まさにその通りです。


何故こうなっているかは、尻尾の部分に注目すると分かります。

扇型の部分を「円」ではなく、「八角形」にして見直しててみると、より理解しやすくなります。
ユニコーン改

↑後ろ足の部分にあたる八角形が、回転しているのが分かりますね。
その突き出た分だけ、右にスライドしています。


決して敷き詰めていないワケではないのです。
限界まで敷き詰めた結果、こうなのです。


つまり、結局このように22.5度の回転が加わってしまうことにより、
せっかく1.08239…倍ゲインした伸びが、ちょうど1.08239…倍ロストしているのです。

紙は与え、紙は奪う。 (1:21)


このせいで、全く足が伸びないのです。


結局どうなのでしょう。

あほあほユニコーン

実際↑こんな感じで、「紙の斜めの部分をカットして、
あえて紙の4辺の部分を利用しないようにしてまで設計したような折り紙」
はよくあると思うのですが、
そこまでして計算し尽くされたような作品が、実はそんなに大きく完成しなかったりします。
普通な大きさに収まったりします。


なんでかって言うと、その一つには
結局22.5度系の中では、足を畳む時の「偶奇」が変わってしまうことが考えられると思います。

そうやって偶奇が入れ替わるから、
足の色が変わってしまうというのもあります。
(今回のユニコーンは、足とか顔の部分がカラフルですね)


結局、愚直に紙の端っこに足を配置したような設計に勝てなかったりします。


頑張ったところで、2-√2です。
小数で言うと、紙の1辺に対して0.29です。


「4足の動物」を折り紙で折ろうとした場合、
最も愚直でシンプルなモノは「豚の基本形」でしょうか。

だけど、その最も単純な「豚の基本形」でだって、0.25は出るのです。 (4分割してるだけなので)
頑張って設計した結果が「+0.04」ですよ。 4%足が伸びるだけです。

苦労した割に大して変わらんといえば変わらんのではないでしょうか。


今回のユニコーンは、そういう事を考えるためのきっかけになりました。


「前に作ったユニコーンは、前足の部分に紙が余ってる感じがしたなぁ~」
「あれを詰めれば、もっと足が伸びるかもなぁ~」

などと思っていても、実際全力で詰めようとしたら、1ミリも伸びなかったわけです。


結果、折るのが難しいだけのシロモノが出来てしまいました。


でも、気に入っている部分もあります。

尻尾が大きくなったのと、たてがみの部分の6角形は我ながらカッコイイと思います。


あと、足の色を変えないように折ることもできますよ。
顔だけは無理ですが。


最後は、実際にリアルで折る時のための備考。


今回のこのユニコーン折り紙は、「比率」がかなり特殊なので、
「折り筋」を付けることすら出来ないかもしれません。


なぜかというと、
普通にやっていると、いつまで経っても「↓この比率」に辿りつけないからです。
ユニコーン改

この赤い部分の線さえ引くことが出来れば、あとはスパスパ折り筋が立てられるのですが、
普通の22.5度系では、この位置に線が来ることは永遠にないのです。


ではどうすればいいのかというと、
ユニコーン改
まずこのように、「通常の22.5度系でよくあるような線」を引いていってから、
最後に右上の灰色の部分をカットして、残った正方形を使えば、
この赤線の比率が得られるわけです。


でも、そんな風に紙を切るのを嫌がる人もいるかもしれません。

そら、紛れもなく正方形ではあります。
一応これでも「不切正方形一枚折り」なのかも知れません。
でも、やっぱり紙を切っているのです。 なんか後ろめたいです。


ではどうするか。

近似を使います。


(また、1辺の長さは「2」とします)
この図で言うところの灰色の部分の横幅の長さは3-2√2です。
つまり、残った正方形の1辺の長さは2√2-1となります。
(3-2√2) / (2√2-1) = 0.09383632135 となります。

この、0.0938…という数値が、
「3/32」に極めて近いことに気づきました。

3/32は、小数で言うと0.09375です。

これがどれくらい近いかというと、
ORIPAを騙せるレベルです。

近似値で引いた設計図でも、ちゃんとORIPAが折ってくれることが分かりました。

プログラムを騙せるくらいなので、
実際の紙で折る分には、こんな誤差は微塵も気になりません。

よって、↓こんな風に折れば、
例の赤線の比率が得られるのです。
ユニコーン改
(もちろん実際はこんな碁盤目状に折る必要ないですよ)
(半分、半分、と、ちょっとだけ印をつけていって、端と端をガーッとつなげて)
(最後に赤い線の部分だけ、ハッキリと折り目をつければ良いのです)


今回のユニコーンを折る場合は、この近似のやり方をオススメします。

[ 2013/07/24 20:35 ] 創作折紙 | TB(0) | CM(0)

ラストオブアスの感想文

まぁ色々言ってるけど、
結局はいつも通りのことをしてしまうのだ。

例えば、特に意味もなく、プレイしたゲームの感想を垂れ流したり。



というわけで、「The Last of Us」の感想文でも書いてみます。
当然ネタバレ注意。


ちなみにこの絵のエリーは
特に考えなしに描いた。 似てない。 だが、普段とはちょっと違う感じで描いた。 以上。


[ 2013/07/20 11:05 ] ゲームプレイ話 | TB(0) | CM(22)

デコイをくわえて帰ってきて尻尾ブルブル犬

二回もどうでもいい話をしてしまったので
「動物歩かせシステム」が結構進んだという話をします。


「しっぽ部位」「頭部位」を分離して、
それぞれのパラメータもリアルタイムに設定できるようになりました。


今回の見どころとしては、
「犬ダッシュ」あたりを選択して、クルクル走らせてみてください。

「自分のしっぽを追いかけているような駄犬感が出ていると思います。


これで、「見た目以外の部分」
内部の歩行システムの基本は大体固まった感じになります。
(以降はしばらく動物のベクタ絵を描きまくります)
(死ぬほど楽しそう)


ようやく、第一段階突破、という感じです。




◆操作方法
方向キーで歩く
Zキーで注視モード
シフトキーで平行移動  スペースキーで走る
Xキーで高いところから落とす  Cキーで地面にめり込ます  Vキーで横からどついてみる 
胴体をドラッグで全身を引きずる  足をクリックで四肢切断
Dキーでキャラの複製  Bキーで全身回転
Nキーで自爆(新機能)

あと編集パネルから、足を無力化したり、「切断」したりできます。


全画面とか


どないでしょうか。

ラプトルの動きとか、前回とか前々回と比べると相当良くなってきてるんじゃないでしょうか。

もうそろそろ馬鹿に出来なくなってきているのではないか。

どこぞの狩りゲーに出てくるような恐竜モドキなんぞよりは、マシなものを作らないといけない。


◆やったこと

・しっぽと頭を分けた

 これだけのことで、本当にグッと良くなったと思う。
 
 何でこんなに変わるのか。
 「全身の回転の伝達スピードに"差"が出てくることによる情報量の増加」に尽きるとおもう。


・頭について
 頭は、注視モードにした時とか、方向転換をしたときに
 全身よりも早めに「向くべき方向を向く」ように設定しています。
 それが、動物らしさを産みます。

 が、今のところバグがあって、全身の旋回能力の低い動物を選んで (ステゴサウルスとか)
 滅茶苦茶な方向に激しく向きを変えまくろうとすると、頭がぶっ壊れてワケワカラン方向に回りまくります。
 このバグの原因はなんとなく分かっているけど、今のところ直せていません。


・しっぽについて
 しっぽは逆に、全身の回転を遅めに伝達するようにしています。

 しっぽの動きに関しては、「振り子の伝達」のようなシステムを考えたかったけど、
 それよりかは数段階「志のひくい実装」をしています。
 言ってみれば、分数的に移動することで擬似的に「揺れ感」を出しているだけなのです。
 それにしたって、各部位の長さを決めておいて、「詰める」ことでもうちょっとマシになるだろうけど、
 重そうなのでやめました。
 だから、これはかなり問題のあるしっぽなのです。


・全身回転について
 回転について本気で考えた結果、
 全身の回転を管理するには「二種類の回転が必要」という結論に達しました。

 ・一つは「自力による移動」によって発生する回転
 (自分が走ろうとする方向に全身が傾くとかの回転)

 ・もう一つは「外力による移動」によって発生する回転
 (だれかにどつかれた時とか、物凄い殴られてクルクル回転しながら吹き飛ばされる時の回転)

 同じ「全身回転」であり、一つのX軸回転、Y軸回転、Z軸回転で管理できそうなモノではあるんだけど、
 色々考えた結果、この2つは分けないといけないということになりました。

 で、画面の端に行った時にとりあえず回転させたりしています。
 あと、Bキーを押しても、自分の向いてる方向に前転します。


・リアルタイム編集システムについて
 実際に動くようにするので一苦労したあとは、
 UIとか分かりやすさについて考えないといけません。
 が、全然分かりやすくはならんでしょう。

 これでも、パラメータに関しては「最小限であり最大限」のモノを考えています。

 「あらゆる動物のリアルな歩きに対応し、表現するためには、
 ここのこれこれこういう動きを、こういう風に管理できるようなモノが、これだけ必要」

 というのを考えているつもりなのです。
 その結果が、これです。

 どうなんでしょう。
 実際、「デフォルト4足」の動物をちょちょいと弄れば
 大体の脊椎動物は作れるようになってるつもりなのです。

 今回、ワニちゃんが増えてますが、ソイツもすぐに作れました。


・あとは、足をちぎったら回転しながら吹っ飛ぶようにしたりしました。


以下、「動物の動き」に関する「マジ度」の話です。


なぜか、「討鬼伝」というゲームを引き合いにして、ボロクソに言っているので注意。
(でも、ある程度ちゃんとしたゲームをやってきた人なら、こういう話は分かってくれるはず)


お茶プールを濁す

前回の妄言をちょっとだけ補足して、更に妄言の上塗りとする。


別に自分は「何も残すな」「何も伝えるな」とか言いたいわけじゃない。

「コピーや変異」がミームの本質なんだから
模倣からなにから、全て否定してしまっては進化が止まる。


ただ、カーズ様も言っているように
『下等な生物ほど、子供の数は多い』というのがある。

これはミーム方面でも同じ事が言えると思う。
twitterを見てるとつくづく分かる。 要は、「つまんないやつほどうるさい」んだよ。

これはもう本当にそう。


こういう事を言うと、
「いや、面白くて価値あることをいっぱいツイートしている人もいるよ」と思うかもしれないけど
これは「傾向」の話をしているんだ。

ほとんどの場合、「うるさい=つまらない」


よく、「英雄色を好む」って諺から「エロイ人は優秀」だと勘違いしている人がいるけど、これも全然違う。
それもまた、「傾向」や「相関」を見ていない。


エロイ人は大抵頭が悪いし、馬鹿ほど子供を多く残したがる。

ジーンでもミームでも、
「数撃ちゃ当たる」の精神で生きてる奴は馬鹿なんだ。
(このマンボウ野郎!)


「エロほど馬鹿」
「馬鹿ほどうるさい」
というのは分かった。
そう、決めつけた。

だからといって、完全に口をつぐんでしまうのも駄目なんだ。


まさに『究極の生命体』であるところのカーズ様は、
「SEX必要なし!」とか調子こいてた割りには、事実上「一代で」滅んでしまった。

一方、 『究極の情報生命体』であるところの人形使いは、
そのような「脆さ」を克服するために、「死」「多様性」「ゆらぎ」をあえて欲しがった。

(全然関係ない作品だけど、この二人は自分の中で何かが対称的)
(究極的にストイックであれば良いという訳でも無いことが分かる例)


要は
どのようなタイミングで、
どのように「決定的な」ジーンやミームを残せるかが大事ってことだ。


んで、
結論としては「量より質」のたった一言で事は済むんだ。

ブログの更新だって多けりゃいいってワケじゃない。
当たり前のことだ。

分かってしまうと、これだけの事を自分は長々と語っていたのだなぁと気付く。


も、もうちょっと何か内容はないのか。



そしてこれはオメガウェポン。

オメガウェポン

[ 2013/07/05 18:08 ] 駄文 | TB(0) | CM(4)
月別カレンダー
06 ≪│2013/07│≫ 08
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -