2015年3月25日水曜日

ワンランク上を行くサイト

2D43D(2Dと3D変換)について調査していたところ、
HeightMapとBAS-Reliefが一般的な手法であることを知らないでいた、
改めて考えると古代ローマの頃から存在していた手法なので
「何時か来た道」と理解した。

通りすがりに何やらすごいサイトに出会ったので紹介させていただく。
http://www.cnc4free.org/
でシステム開発の自動化の手法をフリーのツールや手法を動画でも丁寧に説明してくれる。

まさしく最先端のサイトなので是非一度アクセスしてみると面白い。
私は、YouTubeを「Inkscape Overview」見たので早速BAS-ReliefをInkscapeで作成してみようと思う。

追伸:
それにしても、以前は調査でググって、ファイル縛りで文献をちまちま目を通していましたが、慣れない英語の上頁数も半端ない感じのものが多いので、一日中検索に時間を使ってしまうこともありおかげで視力が増々低下してしまいました。
今では、キーを頼りに画像で検索するほうが全体がつかめる場合があり重宝しています。
また3D系の調査ではYouTubeの方が文字の説明よりも解りやすい場合があり、何か物凄い変化を感じています。
結論:
この後さらに実験をしたところ、
Sculprisでオブジェクトファイルを作成し、
これをMeshLABでdepthmapを作成してSceneJSで表示できました。
無料のツールで効率よく完成度もまあまあ満足できる手法であることが判明しました。
GIMPでも平面が中心の物体は作成できるようですが試していません。

2015年3月18日水曜日

データ駆動型で変わること

昨年日本の経済産業省が「データ駆動型(ドリブン)イノベーション創出戦略協議会」を立ち上げた、大変良いことだと感じた。
ようやく日本のソフトウェア業界が、「オブジェクト指向」や「アジャイル開発」の呪文から解放され、次の流れが始まる期待がします。

データ駆動型で変わることはなにか、一番は基盤又はエンジンを作成している層とデータを作成している層の責任分界点が明確に分割できることだと私は考えています。
今まで、オブジェクト指向でも確かに基盤やフレームワークの層とこれを利用するアプリケーションの層に二分されていましたが、どちらも仕様の変更が頻繁になる時期がありようやく落ち着いてくると、次のデバイスやインフラの流れで再利用が殆ど行われないできました。システムサイドの仕事がなくならなくて良いのでしょうが、ユーザは何やらテクノロジーが変化しているのでしょうがない事態にしか思えません。
データ駆動型は別の意味でデータ中心的な開発方法であり、データ宣言やデータ定義が開発の中心になり、開発が安定し再利用率も向上することが予想されます。

方法論についてはこれぐらいにして。

ここで紹介したかったのは、JavaScriptでのデータ駆動型の成功例です。
D3JSは有名なフレームワークで既に誰でも知っていることと思いますが、SceneJSは検索でヒットする件数が非常に少なく、あまり知られていないです。

SceneJSとは「ブラウザの3Dを扱うエンジン」で、非常に容易にWebGLを利用した3Dを扱うことができます。他にもThreeJS,BabylonJS,Away3D,JSC3Dがありますが、データ駆動型ではありません。

SceneJSの特徴は次のような感じです。
1.JSONのNodeデータを階層型に設定するだけで3Dの画面を完成できる
2.階層的に定義した情報を、再利用して複雑な構造の物体を作成できる
3.データの判断、繰り返し等の手順も定義できる
4.非常に整理されたスクリプトで構築でき、人のソースの可読性が高い

ただし、欠点もありリアル感が大事な影の表現ができません。自分が扱っているPCでは時々動作が重くなります。
多分、あまり注目されていない理由は、スマホには現在のところ向いていないことだと思います。

今後注目されるデータ駆動型開発の例として一度体験されると面白いフレームだと感じています。
又単なる3Dツールとして、BlenderやMeshLabで作成する別の手段としてSceneJSが使えるとも考えています。