点と平面の距離(三重積と法線)
距離の公式 次の平面と点Pが与えられたとき、 $$ax+by+cz+n=0 \\ P (x_{0},y_{0},z_{0})$$ 平面との距離Dは以下の式により求められます。 $$D=\frac{|ax_{0}+by_{…
距離の公式 次の平面と点Pが与えられたとき、 $$ax+by+cz+n=0 \\ P (x_{0},y_{0},z_{0})$$ 平面との距離Dは以下の式により求められます。 $$D=\frac{|ax_{0}+by_{…
3次元ベクトルの外積は次のように定義されます。 $$(a, b, c)×(x, y, z)=(bz-cy, cx-az, ay-bx)$$ 計算例を挙げてみると… $$(1, 2, 3)×(1, 4, 9)=…
二次元での拡散シミュレーションをコーディングしましたが、今回は三次元版です。最後にソースコードを載せてあります。二次元版では100×100のグリッド密度で計算しましたが、三次元版では100×100×100にすると配列にし…
今回はC++とOpenCVで画像をリサイズする方法の紹介です。PythonとOpenCVでのリサイズはこちらです。 imshowの直前で縮小を行えば表示される画像を小さくすることができます。解析処理の後で表示する画像を縮…
1.png, 2.png, 3.png …..というような連番ファイルを読み込む方法を紹介します。今回はimg[0~10の数字].pngという規則性のある連番画像を読み込み、縦横0.5倍に縮小してからout[…
数値Aの符号を返す関数が必要になった時、どのような方法があるでしょうか。ぱっと思いつく範囲では、「if 文で条件分岐」か「AをAの絶対値で除算する」くらいだと思います。 C++で書くならば double sign(dou…
二次元平面上での物質の拡散をシミュレーションしました。三次元版はこちらにあります。 時間の経過とともにどのように物質濃度の分布が変化するかを計算します。その時に、現在の状態から⊿tだけあとの分布の状態を求めます。差分近似…
OpenCV 1系と2系以降では画像または行列の保持に使われる型に違いがあります。IplImage型とMat型ですが、これらは互いに変換可能です。 #include "opencv/cv.h" #in…
ISOイメージ OpenCVがプリインストールされるLubuntuイメージを作成しました。こちらで紹介しているインストールの方法を実行したもので、OpenCVを実行できる環境がすぐに構築できます。β版ですので、そのままで…
C++のプログラムは、int main()で始まります。プログラムの最後には「return 0;」を必ず書きます。行の終わりにはセミコロン「;」を書かなくてはなりません。典型的なプログラムは以下のようになりますが、このプ…