1. はじめに 最近,OpenCVを使った実装をしていて座標変換の演算で落とし穴にハマったのですが,わりと素で「え,これってこう書いちゃダメなの?」みたいな感じでした.この罠にはまると,原因に気付くまでけっこう苦労する可能性があるというか,私は(問題のショボさに比して)めっちゃ苦労しました. ということで,かなりショボいゆるふわネタなのですが,せっかくの機会なので紹介してみようと思います. 2. 問題設定 2.1. 3次元の座標変換 OpenCVで座標変換のコードを書いた経験のある方も多いと思います.その際,cv::Mat同士の演算では素直に書けると思いますが,座標をcv::Pointやcv::Vecなどで持っていた場合にどう書くか,ということが本稿の主題です. とりあえず今回は3x3の回転行列$\mathbf{R}$と3次元座標$\mathbf{x}$,3次元ベクトル$\mathbf{t