StdAfx.h | |
Constants | |
General Defines | |
Types | |
double ** | |
double * | |
Coord | 座標値用クラスを定義 |
Variables | |
x,y,z,dmy | 三次元座標値(x, y, z)及び,汎用としてdmyを用意 |
Functions | |
+ | Coord同士の足し算(AddCoord()) |
/ | Coord同士の割り算(DivCoord()) |
/ | Coordとdoubleとの割り算(オーバーロード) |
& | Coord同士の内積(CalcInnerProduct()) |
&& | Coord同士の外積(CalcOuterProduct()) |
FRAME | 同次変換行列用構造体 |
DispStat | 表示属性用構造体 |
グローバルな関数の定義 | |
Functions(3次元ベクトル幾何演算) | |
InitCoord | 座標値の初期化 |
InitCoord | 座標値の初期化(オーバーロード) |
InitCoord | 座標値の初期化(オーバーロード) |
AddCoord | 座標値の足し算 |
AddCoord | 座標値の足し算(オーバーロード) |
AddCoord | 座標値の足し算(オーバーロード) |
DivCoord | 座標値の割り算 |
DivCoord | 座標値の割り算(オーバーロード) |
DivCoord | 座標値の割り算(オーバーロード) |
MulCoord | 座標値の掛け算(ベクトルの内積,外積ではないので注意) |
MulCoord | 座標値の掛け算(オーバーロード) |
MulCoord | 座標値の掛け算(オーバーロード) |
SubCoord | 座標値の引き算 |
SubCoord | 座標値の引き算(オーバーロード) |
SubCoord | 座標値の引き算(オーバーロード) |
SetCoord | 座標値を代入 |
SetCoord | 座標値を代入(オーバーロード) |
CopyCoord | 座標値群をコピー |
DiffCoord | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す |
DiffCoord | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す(オーバーロード(精度指定)) |
AbsCoord | 座標値の絶対値を返す |
ZoroCoord | (0,0,0)の場合にKOD_TRUEを返す |
CalcEuclid | ユークリッド距離をもとめる |
CalcDistance | 2点間のユークリッド距離を求める |
CalcRotVec | 任意のベクトルを原点を通る任意軸周りに回転させたベクトルを求める(3D平面) |
CalcVecAngle | 2つのベクトルのなす角を求める |
CalcAnglePlaneVec | 平面と直線とのなす角を求める |
NormalizeVec | 3次元ベクトルを正規化(単位ベクトル化) |
NormalizeVec | 3次元ベクトルを正規化(単位ベクトル化)(オーバーロード) |
CalcInnerProduct | 内積を求める |
CalcInnerProduct | 内積を求める(オーバーロード) |
CalcOuterProduct | 外積を求める |
CalcInterDivPt | 2点間の内分点を求める |
CalcOrthoProjection | 任意の点を任意の平面へ正射影する |
CalcDistPtToPlane | 任意の点から任意の平面までの距離を求める |
CalcScalarTriProduct | スカラー三重積を求める |
CalcNormalLine | 任意の点から任意の直線へ下ろした点を求める |
Arc_CP | 円の中心点(vec[0])から円上に接する任意の2本の接線が交わる点へのベクトル(中心角0<θ<π) |
IsPointInPolygon | 注目点の多角形内外判別 |
CalcNormVecFrom3Pts | 空間上の3点からなる平面の法線ベクトルを求める |
Functions(2次元ベクトル幾何演算) | |
AddCoord2D | 座標値の足し算 (2D Ver.) |
AddCoord2D | 座標値の足し算(オーバーロード) (2D Ver.) |
AddCoord2D | 座標値の足し算(オーバーロード) (2D Ver.) |
DivCoord2D | 座標値の割り算 (2D Ver.) |
DivCoord2D | 座標値の割り算(オーバーロード) (2D Ver.) |
DivCoord2D | 座標値の割り算(オーバーロード) (2D Ver.) |
MulCoord2D | 座標値の掛け算(ベクトルの内積,外積ではないので注意) (2D Ver.) |
MulCoord2D | 座標値の掛け算(ベクトルの内積,外積ではないので注意)(オーバーロード) (2D Ver.) |
MulCoord2D | 座標値の掛け算(ベクトルの内積,外積ではないので注意)(オーバーロード) (2D Ver.) |
SubCoord2D | 座標値の引き算 (2D Ver.) |
SubCoord2D | 座標値の引き算(オーバーロード) (2D Ver.) |
SubCoord2D | 座標値の引き算(オーバーロード) (2D Ver.) |
SetCoord2D | 座標値を代入 (2D Ver.) |
SetCoord2D | オーバーロード (2D Ver.) |
CopyCoord2D | 座標値群をコピー (2D Ver.) |
DiffCoord2D | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す (2D Ver.) |
DiffCoord2D | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す(オーバーロード(精度指定)) (2D Ver.) |
AbsCoord2D | 座標値の絶対値を返す (2D Ver.) |
ZoroCoord2D | (0,0,0)の場合にKOD_TRUEを返す (2D Ver.) |
CalcEuclid2D | ユークリッド距離をもとめる (2D Ver.) |
CalcDistance2D | 2次元座標上での2点間のユークリッド距離を算出 (2D Ver.) |
CalcVecAngle2D | 2つのベクトルのなす角を求める (2D Ver.) |
CalcRotVec2D | 任意のベクトルを回転させたベクトルを求める(2D平面) |
CalcOuterProduct2D | 外積を求める (2D Ver.) |
ClacPolygonArea2D | 2D平面上の多角形の符号付き面積を得る |
DiscriminateCW2D | 2D平面上の多角形が時計回りか反時計回りかを判別する |
Functions(同次変換行列、回転行列の演算) | |
MulFrameCoord | 同次変換行列と座標値(3Dベクトル)との掛け算 |
MulFrameCoord | 同次変換行列と座標値(3Dベクトル)との掛け算(オーバーロード) |
MulFrame | 同次変換行列の掛け算 |
InvFrame | 同次変換行列の逆行列を得る |
RotToZYZEuler | 回転行列をZYZオイラー角へ変換 |
InitFrame | FRAMEの初期化 |
Functions(多次元ベクトル、多次元行列の演算) | |
InitVector | 1次元配列の初期化(引数:ベクトル,配列長) |
InitMatrix | 2次元配列の初期化 |
CopyVector | ベクトルのコピー |
AddMxMx | 行列同士の足し算 |
MulMxMx | 行列同士の掛け算 |
MulMxVec | 行列とベクトルの掛け算 |
MulMxVec | 行列と座標値ベクトルの掛け算 |
MulMxCoord | Coordで表現される3x3行列とCoordベクトルとの掛け算 |
MulMxCoord | 3x3行列とCoordベクトルとの掛け算 |
TranMx | 転置行列を得る |
TranMx | 転置行列を得る(オーバーロード) |
TranMx | 転置行列を得る(オーバーロード) |
Gauss | 連立1次方程式の解を求める |
Gauss | 連立1次方程式の解を求める(オーバーロード) |
LU_Solver | LU分解の結果から連立1次方程式を解く |
LU_Solver | LU分解の結果から連立1次方程式を解く(オーバーロード) |
LU | LU分解 |
MatInv | 逆行列を求める |
MatInv3 | 3x3の逆行列 |
MatInv2 | 2x2の逆行列 |
Functions(数値計算) | |
DegToRad | 角度単位をdegreeからradianへ |
RadToDeg | 角度単位をradianからdegreeへ |
CalcCubicEquation | 3次方程式の解を求める |
CalcQuadraticEquation | 2次方程式の解を求める |
CalcLinearEquation | 1次方程式の解を求める |
nCr | 2項係数(nCrの組合せ総数)を求める |
Factorial | 自然数nの階乗を求める |
Round | 四捨五入 |
Functions(描画関連) | |
DrawPoint | 点を描画 |
DrawPoints | 点群を描画 |
DrawVector | ベクトルを描画 |
DrawLine | 2点間に線分を描画 |
SetColorStat | カラーステータスを変更 |
DrawSolidCone | 四角錐を描画する |
Functions(メモリー関連) | |
NewMatrix | 2次元double型配列のメモリー確保 |
NewVector | 1次元double型配列のメモリー確保 |
FreeMatrix | 2次元double型配列のメモリー解放 |
FreeVector | 1次元double型配列のメモリー解放 |
NewCoord1 | 1次元Coord型配列のメモリー確保 |
FreeCoord1 | 1次元Coord型配列のメモリー解放 |
NewCoord2 | 2次元Coord型配列のメモリー確保 |
FreeCoord2 | 2次元Coord型配列のメモリー解放 |
NewCoord3 | 3次元Coord型配列のメモリー確保 |
FreeCoord3 | 3次元Coord型配列のメモリー解放 |
Functions(その他) | |
sgn | 符号判定 |
CheckZero | 値がAPPROX_ZEROの範囲で0であるかチェック |
CheckRange | 指定した値が指定した範囲内であるかをチェック |
CheckMag | 2つの値の大小比較 |
BubbleSort | バブルソート(基本交換法) |
BubbleSort | オーバーロード |
QCmp | クイックソート |
Reverse | Coord配列の反転操作 |
Reverse | double配列の反転操作 |
CatCoord | ある配列の後ろに新たな配列を繋げる |
CheckTheSamePoints | 同一点を除去する |
CheckTheSamePoints | 同一点を除去する |
CheckTheSamePoints2D | 2D平面内の同一点を除去する |
CoordToArray | Coordをdouble配列に代入 |
CoordToArray2D | Coordをdouble配列に代入 |
Functions(3次元ベクトル幾何演算) | |
InitCoord | 座標値の初期化 |
InitCoord | 座標値の初期化(オーバーロード) |
InitCoord | 座標値の初期化(オーバーロード) |
AddCoord | 座標値の足し算 |
AddCoord | 座標値の足し算(オーバーロード) |
AddCoord | 座標値の足し算(オーバーロード) |
DivCoord | 座標値の割り算 |
DivCoord | 座標値の割り算(オーバーロード) |
DivCoord | 座標値の割り算(オーバーロード) |
MulCoord | 座標値の掛け算(ベクトルの内積,外積ではないので注意) |
MulCoord | 座標値の掛け算(オーバーロード) |
MulCoord | 座標値の掛け算(オーバーロード) |
SubCoord | 座標値の引き算 |
SubCoord | 座標値の引き算(オーバーロード) |
SubCoord | 座標値の引き算(オーバーロード) |
SetCoord | 座標値を代入 |
SetCoord | 座標値を代入(オーバーロード) |
CopyCoord | 座標値群をコピー |
DiffCoord | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す |
DiffCoord | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す(オーバーロード(精度指定)) |
AbsCoord | 座標値の絶対値を返す |
ZoroCoord | (0,0,0)の場合にKOD_TRUEを返す |
CalcEuclid | ユークリッド距離をもとめる |
CalcDistance | 2点間のユークリッド距離を求める |
CalcRotVec | 任意のベクトルを原点を通る任意軸周りに回転させたベクトルを求める(3D平面) |
CalcVecAngle | 2つのベクトルのなす角を求める |
CalcAnglePlaneVec | 平面と直線とのなす角を求める |
NormalizeVec | 3次元ベクトルを正規化(単位ベクトル化) |
NormalizeVec | 3次元ベクトルを正規化(単位ベクトル化)(オーバーロード) |
CalcInnerProduct | 内積を求める |
CalcInnerProduct | 内積を求める(オーバーロード) |
CalcOuterProduct | 外積を求める |
CalcInterDivPt | 2点間の内分点を求める |
CalcOrthoProjection | 任意の点を任意の平面へ正射影する |
CalcDistPtToPlane | 任意の点から任意の平面までの距離を求める |
CalcScalarTriProduct | スカラー三重積を求める |
CalcNormalLine | 任意の点から任意の直線へ下ろした点を求める |
Arc_CP | 円の中心点(vec[0])から円上に接する任意の2本の接線が交わる点へのベクトル(中心角0<θ<π) |
IsPointInPolygon | 注目点の多角形内外判別 |
CalcNormVecFrom3Pts | 空間上の3点からなる平面の法線ベクトルを求める |
Functions(2次元ベクトル幾何演算) | |
AddCoord2D | 座標値の足し算 (2D Ver.) |
AddCoord2D | 座標値の足し算(オーバーロード) (2D Ver.) |
AddCoord2D | 座標値の足し算(オーバーロード) (2D Ver.) |
DivCoord2D | 座標値の割り算 (2D Ver.) |
DivCoord2D | 座標値の割り算(オーバーロード) (2D Ver.) |
DivCoord2D | 座標値の割り算(オーバーロード) (2D Ver.) |
MulCoord2D | 座標値の掛け算(ベクトルの内積,外積ではないので注意) (2D Ver.) |
MulCoord2D | 座標値の掛け算(ベクトルの内積,外積ではないので注意)(オーバーロード) (2D Ver.) |
MulCoord2D | 座標値の掛け算(ベクトルの内積,外積ではないので注意)(オーバーロード) (2D Ver.) |
SubCoord2D | 座標値の引き算 (2D Ver.) |
SubCoord2D | 座標値の引き算(オーバーロード) (2D Ver.) |
SubCoord2D | 座標値の引き算(オーバーロード) (2D Ver.) |
SetCoord2D | 座標値を代入 (2D Ver.) |
SetCoord2D | オーバーロード (2D Ver.) |
CopyCoord2D | 座標値群をコピー (2D Ver.) |
DiffCoord2D | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す (2D Ver.) |
DiffCoord2D | 座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す(オーバーロード(精度指定)) (2D Ver.) |
AbsCoord2D | 座標値の絶対値を返す (2D Ver.) |
ZoroCoord2D | (0,0,0)の場合にKOD_TRUEを返す (2D Ver.) |
CalcEuclid2D | ユークリッド距離をもとめる (2D Ver.) |
CalcDistance2D | 2次元座標上での2点間のユークリッド距離を算出 (2D Ver.) |
CalcVecAngle2D | 2つのベクトルのなす角を求める (2D Ver.) |
CalcRotVec2D | 任意のベクトルを回転させたベクトルを求める(2D平面) |
CalcOuterProduct2D | 外積を求める (2D Ver.) |
ClacPolygonArea2D | 2D平面上の多角形の符号付き面積を得る |
DiscriminateCW2D | 2D平面上の多角形が時計回りか反時計回りかを判別する |
Functions(同次変換行列、回転行列の演算) | |
MulFrameCoord | 同次変換行列と座標値(3Dベクトル)との掛け算 |
MulFrameCoord | 同次変換行列と座標値(3Dベクトル)との掛け算(オーバーロード) |
MulFrame | 同次変換行列の掛け算 |
InvFrame | 同次変換行列の逆行列を得る |
RotToZYZEuler | 回転行列をZYZオイラー角へ変換 |
InitFrame | FRAMEの初期化 |
Functions(多次元ベクトル、多次元行列の演算) | |
InitVector | 1次元配列の初期化(引数:ベクトル,配列長) |
InitMatrix | 2次元配列の初期化 |
CopyVector | ベクトルのコピー |
AddMxMx | 行列同士の足し算 |
MulMxMx | 行列同士の掛け算 |
MulMxVec | 行列とベクトルの掛け算 |
MulMxVec | 行列と座標値ベクトルの掛け算 |
MulMxCoord | Coordで表現される3x3行列とCoordベクトルとの掛け算 |
MulMxCoord | 3x3行列とCoordベクトルとの掛け算 |
TranMx | 転置行列を得る |
TranMx | 転置行列を得る(オーバーロード) |
TranMx | 転置行列を得る(オーバーロード) |
Gauss | 連立1次方程式の解を求める |
Gauss | 連立1次方程式の解を求める(オーバーロード) |
LU_Solver | LU分解の結果から連立1次方程式を解く |
LU_Solver | LU分解の結果から連立1次方程式を解く(オーバーロード) |
LU | LU分解 |
MatInv | 逆行列を求める |
MatInv3 | 3x3の逆行列 |
MatInv2 | 2x2の逆行列 |
Functions(数値計算) | |
DegToRad | 角度単位をdegreeからradianへ |
RadToDeg | 角度単位をradianからdegreeへ |
CalcCubicEquation | 3次方程式の解を求める |
CalcQuadraticEquation | 2次方程式の解を求める |
CalcLinearEquation | 1次方程式の解を求める |
nCr | 2項係数(nCrの組合せ総数)を求める |
Factorial | 自然数nの階乗を求める |
Round | 四捨五入 |
Functions(描画関連) | |
DrawPoint | 点を描画 |
DrawPoints | 点群を描画 |
DrawVector | ベクトルを描画 |
DrawLine | 2点間に線分を描画 |
SetColorStat | カラーステータスを変更 |
DrawSolidCone | 四角錐を描画する |
Functions(メモリー関連) | |
NewMatrix | 2次元double型配列のメモリー確保 |
NewVector | 1次元double型配列のメモリー確保 |
FreeMatrix | 2次元double型配列のメモリー解放 |
FreeVector | 1次元double型配列のメモリー解放 |
NewCoord1 | 1次元Coord型配列のメモリー確保 |
FreeCoord1 | 1次元Coord型配列のメモリー解放 |
NewCoord2 | 2次元Coord型配列のメモリー確保 |
FreeCoord2 | 2次元Coord型配列のメモリー解放 |
NewCoord3 | 3次元Coord型配列のメモリー確保 |
FreeCoord3 | 3次元Coord型配列のメモリー解放 |
Functions(その他) | |
sgn | 符号判定 |
CheckZero | 値がAPPROX_ZEROの範囲で0であるかチェック |
CheckRange | 指定した値が指定した範囲内であるかをチェック |
CheckMag | 2つの値の大小比較 |
BubbleSort | バブルソート(基本交換法) |
BubbleSort | オーバーロード |
QCmp | クイックソート |
Reverse | Coord配列の反転操作 |
Reverse | double配列の反転操作 |
CatCoord | ある配列の後ろに新たな配列を繋げる |
CheckTheSamePoints | 同一点を除去する |
CheckTheSamePoints | 同一点を除去する |
CheckTheSamePoints2D | 2D平面内の同一点を除去する |
CoordToArray | Coordをdouble配列に代入 |
CoordToArray2D | Coordをdouble配列に代入 |
座標値用クラスを定義
class Coord
三次元座標値(x, y, z)及び,汎用としてdmyを用意
double x,y,z,dmy
Coord同士の足し算(AddCoord())
Coord operator +( Coord )
Coord同士の割り算(DivCoord())
Coord operator /( Coord )
Coord同士の内積(CalcInnerProduct())
double operator &( Coord )
座標値の初期化
void InitCoord( Coord * )
座標値の足し算
Coord AddCoord( Coord, Coord )
座標値の割り算
Coord DivCoord( Coord, Coord )
座標値の掛け算(ベクトルの内積,外積ではないので注意)
Coord MulCoord( Coord, Coord )
座標値の引き算
Coord SubCoord( Coord, Coord )
座標値を代入
Coord SetCoord( Coord )
座標値群をコピー
void CopyCoord( Coord * , int, Coord * )
座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す
int DiffCoord( Coord, Coord )
座標値の絶対値を返す
Coord AbsCoord( Coord )
(0,0,0)の場合にKOD_TRUEを返す
int ZoroCoord( Coord )
ユークリッド距離をもとめる
double CalcEuclid( Coord )
2点間のユークリッド距離を求める
double CalcDistance( Coord, Coord )
任意のベクトルを原点を通る任意軸周りに回転させたベクトルを求める(3D平面)
Coord CalcRotVec( Coord, Coord, double )
2つのベクトルのなす角を求める
double CalcVecAngle( Coord, Coord )
平面と直線とのなす角を求める
double CalcAnglePlaneVec( Coord, Coord )
3次元ベクトルを正規化(単位ベクトル化)
Coord NormalizeVec( Coord )
内積を求める
double CalcInnerProduct( Coord, Coord )
外積を求める
Coord CalcOuterProduct( Coord, Coord )
2点間の内分点を求める
Coord CalcInterDivPt( Coord, Coord, double )
任意の点を任意の平面へ正射影する
Coord CalcOrthoProjection( Coord, Coord, Coord )
任意の点から任意の平面までの距離を求める
double CalcDistPtToPlane( Coord, Coord, Coord )
スカラー三重積を求める
double CalcScalarTriProduct( Coord, Coord, Coord )
任意の点から任意の直線へ下ろした点を求める
Coord CalcNormalLine( Coord, Coord, Coord )
円の中心点(vec[0])から円上に接する任意の2本の接線が交わる点へのベクトル(中心角0<θ<π)
Coord Arc_CP( Coord, Coord, double )
注目点の多角形内外判別
int IsPointInPolygon( Coord, Coord * , int )
空間上の3点からなる平面の法線ベクトルを求める
Coord CalcNormVecFrom3Pts( Coord, Coord, Coord )
座標値の足し算 (2D Ver.)
Coord AddCoord2D( Coord, Coord )
座標値の割り算 (2D Ver.)
Coord DivCoord2D( Coord, Coord )
座標値の掛け算(ベクトルの内積,外積ではないので注意) (2D Ver.)
Coord MulCoord2D( Coord, Coord )
座標値の引き算 (2D Ver.)
Coord SubCoord2D( Coord, Coord )
座標値を代入 (2D Ver.)
Coord SetCoord2D( Coord )
座標値群をコピー (2D Ver.)
void CopyCoord2D( Coord * , int, Coord * )
座標値が同じならKOD_TRUE、異なっているならKOD_FALSEを返す (2D Ver.)
int DiffCoord2D( Coord, Coord )
座標値の絶対値を返す (2D Ver.)
Coord AbsCoord2D( Coord )
(0,0,0)の場合にKOD_TRUEを返す (2D Ver.)
int ZoroCoord2D( Coord )
ユークリッド距離をもとめる (2D Ver.)
double CalcEuclid2D( double, double )
2次元座標上での2点間のユークリッド距離を算出 (2D Ver.)
double CalcDistance2D( Coord, Coord )
2つのベクトルのなす角を求める (2D Ver.)
double CalcVecAngle2D( Coord, Coord )
任意のベクトルを回転させたベクトルを求める(2D平面)
Coord CalcRotVec2D( Coord, double )
外積を求める (2D Ver.)
double CalcOuterProduct2D( Coord, Coord )
2D平面上の多角形の符号付き面積を得る
double ClacPolygonArea2D( Coord [], int )
2D平面上の多角形が時計回りか反時計回りかを判別する
int DiscriminateCW2D( Coord [], int )
同次変換行列と座標値(3Dベクトル)との掛け算
Coord MulFrameCoord( double[][3], double[], Coord )
同次変換行列の掛け算
FRAME MulFrame( FRAME , FRAME )
同次変換行列の逆行列を得る
FRAME InvFrame( FRAME )
回転行列をZYZオイラー角へ変換
Coord RotToZYZEuler( Coord [] )
FRAMEの初期化
void InitFrame( FRAME * )
1次元配列の初期化(引数:ベクトル,配列長)
void InitVector( Vector, int )
2次元配列の初期化
void InitMatrix( Matrix, int, int )
ベクトルのコピー
void CopyVector( Vector, int, Vector )
行列同士の足し算
void AddMxMx( Matrix, Matrix, Matrix, int, int )
行列同士の掛け算
void MulMxMx( Matrix, int, int, Matrix, int, int, Matrix )
行列とベクトルの掛け算
void MulMxVec( Matrix, int, int, Vector, int, Vector )
Coordで表現される3x3行列とCoordベクトルとの掛け算
Coord MulMxCoord( Coord [], Coord )
転置行列を得る
void TranMx( Matrix, int, int, Matrix )
連立1次方程式の解を求める
double Gauss( int, Matrix, Vector, Vector )
LU分解の結果から連立1次方程式を解く
void LU_Solver( int, Matrix, Vector, int * , Vector )
LU分解
double LU( int, Matrix, int * )
逆行列を求める
double MatInv( int, Matrix, Matrix )
3x3の逆行列
double MatInv3( Matrix, Matrix )
2x2の逆行列
double MatInv2( Matrix, Matrix )
角度単位をdegreeからradianへ
double DegToRad( double degree )
角度単位をradianからdegreeへ
double RadToDeg( double radian )
3次方程式の解を求める
int CalcCubicEquation( double * , double * )
2次方程式の解を求める
int CalcQuadraticEquation( double * , double * )
1次方程式の解を求める
int CalcLinearEquation( double * , double * )
2項係数(nCrの組合せ総数)を求める
int nCr( int n, int r )
自然数nの階乗を求める
int Factorial( int n )
四捨五入
double Round( double )
点を描画
void DrawPoint( Coord, double, double, double [] )
点群を描画
void DrawPoints( Coord * , int, double, double, double [] )
ベクトルを描画
void DrawVector( Coord, Coord, double, double, double [] )
2点間に線分を描画
void DrawLine( Coord, Coord, double, double [] )
カラーステータスを変更
void SetColorStat( DispStat * ds, float r, float g, float b, float a = 0.5 )
四角錐を描画する
void DrawSolidCone( double, double )
2次元double型配列のメモリー確保
Matrix NewMatrix( int, int )
1次元double型配列のメモリー確保
Vector NewVector( int )
2次元double型配列のメモリー解放
void FreeMatrix( Matrix, int )
1次元double型配列のメモリー解放
void FreeVector( Vector )
1次元Coord型配列のメモリー確保
Coord *NewCoord1( int )
1次元Coord型配列のメモリー解放
void FreeCoord1( Coord * )
2次元Coord型配列のメモリー確保
Coord **NewCoord2( int, int )
2次元Coord型配列のメモリー解放
void FreeCoord2( Coord ** , int )
3次元Coord型配列のメモリー確保
Coord ***NewCoord3( int, int, int )
3次元Coord型配列のメモリー解放
void FreeCoord3( Coord *** , int, int )
符号判定
double sgn( double )
値がAPPROX_ZEROの範囲で0であるかチェック
int CheckZero( double, int )
指定した値が指定した範囲内であるかをチェック
int CheckRange( double, double, double, int )
2つの値の大小比較
int CheckMag( double, double, int )
バブルソート(基本交換法)
void BubbleSort( int[], int )
クイックソート
int QCmp( const void * , const void * )
Coord配列の反転操作
void Reverse( Coord [], int )
ある配列の後ろに新たな配列を繋げる
int CatCoord( Coord [], Coord [], int, int, int )
同一点を除去する
int CheckTheSamePoints( Coord * , int )
2D平面内の同一点を除去する
int CheckTheSamePoints2D( Coord * , int )
Coordをdouble配列に代入
void CoordToArray( Coord, double [] )
Coordをdouble配列に代入
void CoordToArray2D( Coord, double [] )