transf.h

来自「basic mathematic classes used for math p」· C头文件 代码 · 共 67 行

H
67
字号
#ifndef TRANSF_H#define TRANSF_Hclass quater;class transf{  private:    matrix m;    vector v;    // multiplication    friend transf&      operator*=( transf &, transf const& );    friend transf       operator*( transf const&, transf const& );    friend vector&      operator*=( vector&, transf const& );    friend vector       operator*( vector const&, transf const& );    friend position&    operator*=( position&, transf const& );    friend position     operator*( position const&, transf const& );    friend unit_vector& operator*=( unit_vector&, transf const& );    friend unit_vector  operator*( unit_vector const&, transf const& );    // functions    friend transf       inverse( transf const& );    friend transf       interpolate( m_real, transf const&, transf const& );    // stream    friend ostream& operator<<( ostream&, transf const& );    friend istream& operator>>( istream&, transf& );  public:    // constructors    transf() {}    transf( matrix const& a, vector const& b ) { m = a; v = b; }
    transf( quater const& a, vector const& b ) { m = Quater2Matrix(a); v = b; }
	transf( const transf& a);
	transf& operator=(const transf&a);    // inquiry functions    const matrix&	getAffine() const { return m; };    const vector&	getTranslation() const { return v; };
	const quater	getRotation() const { return Matrix2Quater(m); }
	const matrix&	affine() const { return m; };
	const vector&	translation() const { return v; }
	void			setAffine( matrix const& a ) { m = a; }	void			setTranslation( vector const& a ) { v = a; }
	void			setRotation( quater const& q ) { m = Quater2Matrix(q); }    transf			inverse() const;};// identity transformextern transf identity_transf;// generatorextern transf scale_transf( m_real );extern transf scale_transf( m_real, m_real, m_real );extern transf rotate_transf( m_real, vector const& );extern transf reflect_transf( vector const& );extern transf translate_transf( vector const& );extern transf translate_transf( m_real, m_real, m_real );extern transf coordinate_transf( position const&,                  unit_vector const&, unit_vector const& );#endif

⌨️ 快捷键说明

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