matrix4d.h

来自「3D reconstruction, medical image process」· C头文件 代码 · 共 59 行

H
59
字号
#ifndef __MATRIX4D_H__#define __MATRIX4D_H__#include "Vect4D.h"class RxMatrix4D{private:		double m4cof(int r, int c, int r0, int r1, int r2, int c0, int c1, int c2);	double m3cof(int r, int c, int r0, int r1, int c0, int c1); 	double m3det(void);		double m4det(void);public:	double m[4][4];	RxMatrix4D();	RxMatrix4D(const RxMatrix4D& mat);	RxMatrix4D(const double mat[4][4]);	RxMatrix4D(const double mat[16]);	RxMatrix4D(double m00,double m01,double m02,double m03,double m10,double m11,double m12,double m13,double m20,double m21,double m22,double m23, double m30,double m31,double m32,double m33);	~RxMatrix4D();	RxMatrix4D operator=(const RxMatrix4D& mat);	RxMatrix4D operator*(const RxMatrix4D mat);	RxVect4D operator*(const RxVect4D vect);	BOOL	operator==(const RxMatrix4D& mat);		RxMatrix4D Inverse(void);	RxMatrix4D Inverse3D(void);	double GetDet(void) {		return m4det();	}	void LoadIdentity(void);	void Scale(double sx, double sy, double sz);	void Translate(double tx, double ty, double tz);	void Rotate(int axis, double degree);	void SetMatrix4D(double m00,double m01,double m02,double m03,double m10,double m11,double m12,double m13,double m20,double m21,double m22,double m23, double m30,double m31,double m32,double m33);		double CalcuSx();	double CalcuSy();		RxMatrix4D Warp2D(double ti, double tj);		double ViewVectX();	double ViewVectY();	double ViewVectZ();		void TransformVect3D(double x, double y,double z, double *pa, double *py, double *pz);	int GetPrincipalAxis(double fRatioZ=1.);	RxMatrix4D Transpose();	RxMatrix4D GetRotateSubMatrix();	void SetTranslateSubMatrix(RxMatrix4D mxTranslateSub);};#endif //__MATRIX4D_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?