Common Library  0.9.5
CoordLib 名前空間

座標計算関数用名前空間 [詳解]

関数

template<class T >
double Distance (Coord< T > c1, Coord< T > c2)
 距離(ノルム)の計算 [詳解]
 
template<class T >
void Diff (Coord< T > c1, Coord< T > c2, Coord< T > *diff)
 二座標間の差分(絶対値)を求める [詳解]
 
template<class T >
void Sign (Coord< T > s, Coord< T > e, Coord< int > *sign)
 二座標 s, e 間の直線の向きを求める [詳解]
 
template<class T >
double Gradient (Coord< T > c0, Coord< T > c1, bool rotate=false)
 傾きを返す [詳解]
 
template<class T >
double Intercept (Coord< T > c0, Coord< T > c1, bool rotate=false, int axis=0)
 切片を返す [詳解]
 

詳解

座標計算関数用名前空間

関数詳解

◆ Distance()

template<class T >
double CoordLib::Distance ( Coord< T >  c1,
Coord< T >  c2 
)

距離(ノルム)の計算

引数
c1,c2演算対象の座標
戻り値
c1, c2 間の距離

◆ Diff()

template<class T >
void CoordLib::Diff ( Coord< T >  c1,
Coord< T >  c2,
Coord< T > *  diff 
)

二座標間の差分(絶対値)を求める

x, y それぞれに対して差の絶対値を求め、変数 diff に代入する

覚え書き
c1 と c2 の値によっては、差分がオーバーフローする可能性がある
引数
c1,c2差分を計算する二点
diff求めた差分を代入する変数へのポインタ

◆ Sign()

template<class T >
void CoordLib::Sign ( Coord< T >  s,
Coord< T >  e,
Coord< int > *  sign 
)

二座標 s, e 間の直線の向きを求める

x, y それぞれ e >= s ならば 1 e < s ならば -1 とする

引数
s始点
e終点
sign求めた直線の向きを代入する変数へのポインタ

◆ Gradient()

template<class T >
double CoordLib::Gradient ( Coord< T >  c0,
Coord< T >  c1,
bool  rotate = false 
)

傾きを返す

引数
c0,c1直線を通る二点
rotatefalseで dy/dx, trueで dx/dyを返す
戻り値
傾き(dy/dx or dx/dy)

◆ Intercept()

template<class T >
double CoordLib::Intercept ( Coord< T >  c0,
Coord< T >  c1,
bool  rotate = false,
int  axis = 0 
)

切片を返す

引数
c0,c1直線を通る二点
rotatefalse で y 軸, true で x 軸との交点を返す
axis: 軸の位置 ( x 軸または y 軸がもう一方の軸と交差する位置 )
戻り値
切片