lDescartesIntoPolar(API)

提供: Eospedia
2015年3月17日 (火) 01:39時点におけるKinoshita (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索

DataManip/transform/src/lDescartesIntoPolarは極座標変換のためのAPI です。Descartes2Polar, Polar2Descartesなどで使用されています。

定数

構造体

直交座標

typedef struct DescartesCoord {
	double x;	
	double y;	
	double z;	
} DescartesCoord;

極座標

typedef struct PolarCoord {
	double r;	
	double theta;	
	double phi;	
} PolarCoord;

座標変換

typedef struct lDescartesIntoPolarInfo {
	DescartesCoord centre;
	DescartesCoord xaxis;
	DescartesCoord yaxis;
	DescartesCoord zaxis;
	DescartesCoord xaxisInv;
	DescartesCoord yaxisInv;
	DescartesCoord zaxisInv;
} lDescartesIntoPolarInfo;

極座標 -> 直交座標変換:xaxis, yaxis, zaxis
直交座標 -> 極座標変換:xaxisInv, yaxisInv, zaxisInv

API

直交座標pを変換し、極座標として返します。

extern PolarCoord lDescartesCoordIntoPolarCoord(DescartesCoord p, lDescartesIntoPolarInfo info, int mode);

極座標pを変換し、直交座標として返します。

extern DescartesCoord lPolarCoordIntoDescartesCoord(PolarCoord p, lDescartesIntoPolarInfo info, int mode);

linfo->xaxis, linfo->yaxis, linfo->zaxisからlinfo->xaxisInv, linfo->yaxisInv, linfo->zaxisInvを算出します。

extern void lDescartesAxisCalc(lDescartesIntoPolarInfo* linfo, int mode);