と思って、Scala から Java3D の vecmath を使ってみたけど、JavaのAPIはインタプリタからじゃ使いにくいことこの上なかったでござる。なんとかしたいけど、とりあえず、今日はメモだけで終わり(投げやり)。
理想
var rot = Quat4f(AxisAngle4f(0,1,0, (Math.Pi*0.5).toFloat)) var pos = Quat4f(0,10,50,1) rot * pos * rot.inverse()
現実
import javax.vecmath._ var rot = new Quat4f rot.set(new AxisAngle4f(0,1,0, (Math.Pi*0.5).toFloat)) var pos = new Quat4f pos.set(0,10,50, 1) var ans = new Quat4f var rotInv = new Quat4f rotInv.inverse(rot) ans.mul(rot, pos) ans.mul(rotInv) ans
いろいろしんどい。つか、Scala使ってる意味全然ないな。ただのJavaインタプリタになってしまっている。いや、それはそれでちょっと便利なんだけどもー