Processing (4) ベクトルデータから座標を取る | fh9xif | sa.yona.la ヘルプ | タグ一覧 | アカウント登録 | ログイン

Re: Processing (3) アスキーアート化したファイルから座標を出すマクロ

Processing (4) ベクトルデータから座標を取る

返信

 画像上のドットの座標を取得する方法その2。

ベクトルデータを使う。

 イラレなんかには画像をトレースしてベクトルデータにする機能がある。

あのデータから座標を取り出せばいい。 たとえば星座の画像だと、星の小さい丸をトレースして

その中心位置を取り出せば そのまま座標になる。

 だがしかし問題がある。 イラレのai ファイルをテキストエディタで開いて数値を見てみても、個々のオブジェクトの

中心位置を示す値がない。値はすべて周辺のノードの値になっている。 形が不定形だとしてもバウンディングボックス

の中心位置いうのがあるはず。

 他の、書き出せるファイル形式も見てみる。SVG形式はどうだろう。 ない。

 こんなときどうするか。 こんなときは、2Dのベクトルデータを3Dソフトにインポートするといい。

一旦インポートしベクトルデータ(3D上ではスプライン曲線) がXY平面上にあることを確認して、テキストエディタで

開ける形式で書き出せばいい。 3Dソフトが書き出すファイルにはバウンディングボックスの中心位置の値がある。

 Cinema4D だと、Cinema 4D XML 形式で書き出せばテキストエディタで値が取れる。



 たとえば何か書き出したとしてテキストエディタでXMLファイル開く。

124行目。 X の値と、Z の値、これが中心位置の座標。

 ふつう Z値は高さを表すんだけど、Cnema4Dの場合 立面が基準の平面になっているので立面がXY、床面がXZ。

(イラレファイルを読み込んだときは立面になっているのでこれを90度寝かせて床面にあわせる)

 この行の上の123行目、 <v6_baseobject level='4'> 、このタグ。 これがキーになる。

オブジェクトが5つの場合、ファイルをテキストエディタで開いてこのキーで検索すると、5回ヒットする。

これが目印。 値はその下にある。


 これはCinema4D でのやり方、 3ds Max なんかだと、ase形式 (AscⅡ Scene Expot) で書き出せば

テキストエディタで開ける。(と思う、確かテキストデータだった)



Processing (補足1) へ

.......................

* Cinema4D v.10 -- (自己責任でお願いします)

* bitComet --

投稿者 fh9xif | 返信 (1) | トラックバック (0)

このエントリーへのトラックバックアドレス:

Re: Processing (4) ベクトルデータから座標を取る

Processing (補足1)

返信
 Processing は また、JavaScriptライブラリーとしても公開されている。
それについては、amachang氏のページが詳しい。
--

引用 :
 Processing.js では、 JavaScript のグローバル変数やグローバル関数を Processing のグローバル変数、グローバル関数として使うことができます。
 たとえば、以下のように JavaScript で定義したグローバル変数 message を Processing から呼び出すことができます。
......................

 自分の工夫を盛り込む余地が大きくなる。 flashなんかも表示できるので、音をflashで出してもいい。 Processing.js は38kほど。





 

投稿者 fh9xif | 返信 (0)

API | 利用規約 | プライバシーポリシー | お問い合わせ Copyright (C) 2024 HeartRails Inc. All Rights Reserved.