📄 matrix3d.h
字号:
// Matrix3D.h: interface for the RxMatrix3D class.//////////////////////////////////////////////////////////////////////////// Title: Header file for Matrix Calculation//////////////////////////////////////////////////////////////////////////// Author: Helen Hong, 3DMed co. LTD// 138-dong 417-ho Seoul National Univ// San 56-1 Shinlim-dong Kwanak-gu, Seoul, Korea// Email. hlhong@cglab.snu.ac.kr//// Date : 2002. 9. 6.// Update : 2002. 9. 6.////////////////////////////////////////////////////////////////////////#if !defined(AFX_MATRIX3D_H__8597AAB7_BBDA_4BA5_BA6F_865DC77819C8__INCLUDED_)#define AFX_MATRIX3D_H__8597AAB7_BBDA_4BA5_BA6F_865DC77819C8__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000class RxTransform3DInfo;class RxMatrix3D {public: RxMatrix3D(); virtual ~RxMatrix3D(); ///////////////////////////////////////////////// // member function ///////////////////////////////////////////////// BOOL make_transmat3D(double transmat[4][4], double xtrans, double ytrans, double ztrans); BOOL make_rotmat3D(double rotmat[4][4], double xrot, double yrot, double zrot); BOOL make_scalemat3D(double scalemat[4][4], double xscale, double yscale, double zscale); BOOL make_viewmat3D(double viewmat[4][4], RxTransform3DInfo *Trans); BOOL mult_matrix3D(double m1[4][4], double m2[4][4], double mout[4][4]); BOOL matrix22_vector21(double m[2][2], double v[2], double out[2]); BOOL matrix33_vector31(double m[3][3], double v[3], double out[3]); BOOL matrix44_vector41(double m[4][4], double v[4], double out[4]); BOOL matrix3D_vector3(double m[4][4], double in[3], double out[3]); BOOL matrix3D_vector4(double m[4][4], double in[4], double out[4]); BOOL vector12_vector21(double v1[2], double v2[2], double *out); BOOL vector13_vector31(double v1[3], double v2[3], double *result); BOOL vector14_vector41(double v1[4], double v2[4], double *result); BOOL vector13_matrix33(double v[3], double m[3][3], double out[3]); BOOL vector3_vector3(double v1[3], double v2[3], double out[3][3]); BOOL vector3_matrix33(double in[3], double m[3][3], double out[3]); BOOL vector3_matrix35(double in[3], double m[3][5], double out[5]); BOOL vector4_matrix3D(double in[4], double m[4][4], double out[4]); BOOL vector4_matrix46(double in[4], double m[4][6], double out[6]); BOOL invert_mat3D(double matin[4][4], double matout[4][4]); double determinate2(double m[2][2]); double determinate3(double m[3][3]); double determinate4(double matin[4][4]); BOOL make_fscalemat(double t, double matin[4][4], double matout[4][4]); BOOL make_transpomat3D(double matin[4][4], double matout[4][4]); BOOL normal_vector3(double vec[3]); BOOL make_textureNormals(double xrot, double yrot, double zrot, double (*normals)[3][3]); BOOL make_planeNormals(double xrot, double yrot, double zrot, int plane, double (*normals)[3]); BOOL minus_vector(double v1[3], double v2[3], double (*out)[3]); BOOL minus_vector(double v1[4], double v2[4], double (*out)[4]); BOOL clear_matrix3D(double matrix[4][4]); BOOL copy_matrix3D(double m1[4][4], double m2[4][4]); BOOL matrix2D_vector3(double m[3][3], double in[3], double out[3]); BOOL matrix33_matrix33(double m1[3][3], double m2[3][3], double out[3][3]); BOOL vnorm3(double vec[3]); BOOL invert_mat(double matin[2][2], double matout[2][2]);};#endif // !defined(AFX_MATRIX3D_H__8597AAB7_BBDA_4BA5_BA6F_865DC77819C8__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -