1.头文件
#ifndef COORDINATETRANSFORM3D_H
#define COORDINATETRANSFORM3D_H
#include <QVector3D>
#include <QMatrix4x4>
class CoordinateTransform3D {
public:
CoordinateTransform3D();
// 设置平移
void translate(double dx, double dy, double dz);
// 设置缩放
void scale(double sx, double sy, double sz);
// 设置旋转
void rotateX(double angle); // 绕X轴旋转
void rotateY(double angle); // 绕Y轴旋转
void rotateZ(double angle); // 绕Z轴旋转
// 应用变换到点
QVector3D transform(const QVector3D &point) const;
private:
QMatrix4x4 m_transform; // Qt的4x4矩阵类
};
#endif // COORDINATETRANSFORM3D_H
2.实现文件
#include "CoordinateTransform3D.h"
CoordinateTransform3D::Coordinate