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もアウトなんだと思われます。まぁ、そんな方法もあるらしいということで…
さて、ここで注目なのが、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ノードって対象にヒットしないと使えないんですよね。当たり前ですけど。けど、対象がグリッドの時、そのグリッドを無限平面と見立てて交点を知りたいシチュエーションがあったりしたんですよ。
まぁ高校数学の役に立つこと…。復習しないと(復習ってより、新たに学び直すに近いな(^^;)
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 ( )
・