日々適当

hibitekitou

ProRes変換

mac |2011-11-22
Mac App Storeのランキングの無料アプリの上位にiHDClip [Mac App Store] ってのがあります。公式サイト行くと有料なんだけど、なんで無料なんだろ? まぁともかく、そんなソフトがありまして、こいつは、 MTS,M2TS,M2TファイルやMOD, TOD, MOV, MP4、もちろんmovファイルをAICやProRes 422等々の多彩なフォーマットに変換するツールみたいです。

さて、ここで注目なのが、ProResへの対応です。これ、Final Cut Proを所持していなくてもコンバートが可能になるということなんでしょうかね。デコーダは確かに無償で配布されていますけど、エンコーダはFCSやFCPXに付属するものだったように思うんですけど、どうなんでしょ。その辺のところが気になります。

FCPが入っていないマシンで試せばいいだけなんで、今度確認してみましょ。

ちなみに、ProResへのコンバートは、ffmpegがサポートしているようです。無償で利用できるようですけど、厳密に各コーデックのライセンスを云々すると、たぶんProResもアウトなんだと思われます。まぁ、そんな方法もあるらしいということで…
コメント ( 0 )|Trackback ( )

平面と直線の交点

sansu |2011-11-22
平面を表す式は

ax + by + cz + d = 0

とかなんとか。しかして、法線が分かっているなら、その法線ベクトル

N = ( nx, ny, nz)

を利用して、

nx*x + ny * y + nz * z - (nx*xp0 + ny*yp0 + nz * zp0) = 0

とか表すことが出来ます。あ、(xp0, yp0, zp0) は平面上の任意の一点ね。

一方、直線を表す式は、直線に平行な単位ベクトルを (ax, ay, az) 、直線上の任意の点を (xl0, yl0, zl0) として、

(x - xl0)/ax = (y - yl0)/ay = (z - zl0)/az

と表すようです(ベクトル云々でこの式は導けます)。

んじゃ、この交点はというと、まず、直線の式を、

(x - xl0)/ax = (y - yl0)/ay = (z - zl0)/az = t

とおいて、

x = ax * t + xl0
y = ay * t + yl0
z = az * t + zl0

とした上で、これを平面の式に代入します。

nx * (ax * t + xl0) + ny * (ay * t + yl0) + nz * (az * t + zl0) - (nx * xp0 + ny * yp0 + nz * zp0) = 0

tについて解くと、

t = ((nx * xp0 + ny * yp0 + nz * zp0) - (nx * xl0 + ny * yl0 + nz + zl0))/(nx * ax + ny * ay + nz * az)

ってことで、

x = ax * ((nx * xp0 + ny * yp0 + nz * zp0) - (nx * xl0 + ny * yl0 + nz + zl0))/(nx * ax + ny * ay + nz * az) + xl0
y = ay * ((nx * xp0 + ny * yp0 + nz * zp0) - (nx * xl0 + ny * yl0 + nz + zl0))/(nx * ax + ny * ay + nz * az) + yl0
z = az * ((nx * xp0 + ny * yp0 + nz * zp0) - (nx * xl0 + ny * yl0 + nz + zl0))/(nx * ax + ny * ay + nz * az) + zl0

とか何とか。すっかり忘れているけど高校の数学なんだと思う。

んじゃ、これを実装しましょう。



ツリーとしてはこの程度。ただし、上記数式はコンパウンドないで実装しています。



そのまんまですね。しかし、これでとりあえずうまくいっているようです。



とか考えていたのはですね。raycastノードって対象にヒットしないと使えないんですよね。当たり前ですけど。けど、対象がグリッドの時、そのグリッドを無限平面と見立てて交点を知りたいシチュエーションがあったりしたんですよ。

まぁ高校数学の役に立つこと…。復習しないと(復習ってより、新たに学び直すに近いな(^^;)
コメント ( 0 )|Trackback ( )
  ・