回転行列
反時計回りに角度θだけ回転させる回転行列は $$\begin{eqnarray} R(\theta) = \left( \begin{array}{cc} ~\cos \theta & -\sin \theta…
反時計回りに角度θだけ回転させる回転行列は $$\begin{eqnarray} R(\theta) = \left( \begin{array}{cc} ~\cos \theta & -\sin \theta…
3次元空間上の3点A,B,Cが与えられたとき、この3点で囲む三角形の面積を求めます。実はこれはベクトルの外積を使うと簡単に計算できます。 まずベクトルABとACを計算します。ベクトルの外積の大きさは外積の計算に用いた2つ…
距離の公式 次の平面と点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…
最近のコメント