QT中基于QMatrix4x4与QVector3D的三维坐标变换类实现

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值