当前位置: 首页 > news >正文

网站开发程序设计东莞网站建设seo

网站开发程序设计,东莞网站建设seo,网站首页是乱码 其他页面正常,山西seo优化✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

在这里插入图片描述

✨博客主页
何曾参静谧的博客
📌文章专栏
「QT」QT5程序设计
📚全部专栏
「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合
「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发
「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明
「Math」探秘数学世界

目录

  • Qt中的QVector2D类详解
    • 一、类的引言
    • 二、使用范围
    • 三、类的头文件
    • 四、类的构造介绍
    • 五、共有函数介绍
    • 六、Static函数介绍
    • 七、运算符重载
    • 八、详细代码举例
      • 示例1:创建和初始化QVector2D对象
      • 示例2:向量运算
      • 示例3:旋转和长度计算

Qt中的QVector2D类详解

一、类的引言

QVector2D是Qt框架中的一个二维向量类,它封装了两个浮点数(通常是float类型),用于表示二维空间中的点或向量。QVector2D类提供了丰富的成员函数和运算符重载,使得在二维图形处理、游戏开发、物理模拟等领域中,对点和向量的操作变得更加简单和直观。
官方帮助文档:https://doc.qt.io/qt-5/qvector2d.html

二、使用范围

QVector2D类广泛应用于需要二维向量运算的场景中。例如,在图形学中,它可以用于表示二维空间中的顶点坐标,进行平移、旋转、缩放等变换;在游戏开发中,它可以用于计算角色的移动速度、方向、碰撞检测等;在物理模拟中,它可以用于表示力、加速度、速度等物理量。

三、类的头文件

要使用QVector2D类,首先需要包含其头文件:

#include <QVector2D>

四、类的构造介绍

QVector2D类提供了多种构造函数,允许以不同的方式初始化向量。

  • 默认构造函数QVector2D(),创建一个默认的二维向量,其x和y分量都初始化为0。
  • 参数化构造函数QVector2D(float xpos, float ypos),通过指定的x和y坐标来构造一个向量。
  • 从QPointF构造QVector2D(const QPointF &point),从一个QPointF对象构造一个向量。
  • 从QPoint构造QVector2D(const QPoint &point),从一个QPoint对象构造一个向量。

五、共有函数介绍

QVector2D类提供了许多成员函数,用于获取和设置向量的分量、计算向量的长度、进行向量运算等。

  • 获取分量float x() constfloat y() const分别返回向量的x和y分量。
  • 设置分量void setX(float x)void setY(float y)分别设置向量的x和y分量。
  • 计算长度float length() const返回向量的长度(模)。
  • 单位化QVector2D normalized() const返回单位化后的向量(即长度为1的向量)。
  • 判断是否为空向量bool isNull() const判断向量是否为空向量(即x和y分量都为0)。
  • 旋转QVector2D rotate(qreal angle) const返回绕原点旋转指定角度后的向量。

六、Static函数介绍

QVector2D类还提供了一些静态成员函数,用于进行向量运算和比较。

  • 点乘static float dotProduct(const QVector2D &v1, const QVector2D &v2)计算两个向量的点乘结果。
  • 叉乘(注意:二维向量的叉乘结果是一个标量,不是向量):虽然QVector2D本身没有直接提供二维叉乘的静态函数,但可以通过计算两个向量的行列式来得到叉乘的结果(即两个向量构成的平行四边形的面积)。不过,Qt中通常使用QVector3D来进行三维向量的叉乘运算。

七、运算符重载

QVector2D类重载了一些运算符,使得向量运算更加直观和方便。

  • 加法QVector2D operator+(const QVector2D &v)返回两个向量相加的结果。
  • 减法QVector2D operator-(const QVector2D &v)返回两个向量相减的结果。
  • 数量乘法QVector2D operator*(float scalar)返回向量与标量相乘的结果。
  • 数量除法QVector2D operator/(float scalar)返回向量与标量相除的结果。
  • 赋值运算符:还重载了相应的赋值运算符(如+=-=*=/=),用于进行向量运算并更新原向量。

八、详细代码举例

以下是一些使用QVector2D类的代码示例,展示了如何创建和初始化QVector2D对象,以及进行各种向量运算。

示例1:创建和初始化QVector2D对象

#include <QVector2D>
#include <iostream>int main() {QVector2D point(3.0f, 4.0f); // 创建一个点QVector2D vector(-1.0f, 2.0f); // 创建一个向量std::cout << "Point: (" << point.x() << ", " << point.y() << ")" << std::endl;std::cout << "Vector: (" << vector.x() << ", " << vector.y() << ")" << std::endl;return 0;
}

示例2:向量运算

#include <QVector2D>
#include <iostream>int main() {QVector2D v1(1.0f, 2.0f);QVector2D v2(3.0f, 4.0f);QVector2D sum = v1 + v2; // 向量加法QVector2D diff = v1 - v2; // 向量减法QVector2D scaled = v1 * 2.0f; // 数量乘法QVector2D normalized = v1.normalized(); // 单位化std::cout << "Sum: (" << sum.x() << ", " << sum.y() << ")" << std::endl;std::cout << "Difference: (" << diff.x() << ", " << diff.y() << ")" << std::endl;std::cout << "Scaled: (" << scaled.x() << ", " << scaled.y() << ")" << std::endl;std::cout << "Normalized: (" << normalized.x() << ", " << normalized.y() << ")" << std::endl;return 0;
}

示例3:旋转和长度计算

#include <QVector2D>
#include <iostream>
#include <cmath> // 用于M_PI常量int main() {QVector2D vector(1.0f, 0.0f); // 创建一个沿x轴的单位向量QVector2D rotated = vector.rotate(M_PI / 2); // 旋转90度(π/2弧度)float length = vector.length(); // 计算向量的长度std::cout << "Rotated vector: (" << rotated.x() << ", " << rotated.y() << ")" << std::endl;std::cout << "Length of original vector: " << length << std::endl;return 0;
}

通过以上示例,我们可以看到QVector2D类在二维向量运算中的强大功能和便捷性。无论是在图形学、游戏开发还是物理模拟等领域,QVector2D类都是一个非常实用的工具。


在这里插入图片描述

http://www.hkea.cn/news/648157/

相关文章:

  • 深圳专业企业网站建设前端培训
  • 南京平台公司seo搜索培训
  • 横沥网站建设武汉百度百科
  • 百度给做网站公司线上运营的5个步骤
  • 盘锦网站建设公司网络营销策略包括哪些
  • 简述电子商务网站开发的基本原则一站式网络营销
  • 商丘网站网络推广员的工作内容和步骤
  • 取消wordpress邮箱认证北京搜索优化排名公司
  • 千库网素材南宁seo优势
  • 西安机场商务宾馆百度做网站怎么在百度上做网站
  • ps网站建设seo网络公司
  • 网站建设步骤 教 程网站怎么做谷歌推广
  • 网站制作需要注意什么潍坊做网站哪家好
  • 专门做团购的网站有哪些色盲图
  • 百度做网站续费费用百度营业执照怎么办理
  • 深圳网站建设方维网络企业网站制作要求
  • 制作好网站黑帽seo教程
  • 云南 网站建设网站seo优化对网店的推广的作用为
  • 网站建设免费国外舆情服务公司
  • 怎么做网站banner查排名网站
  • 做网站好看的背景图片相关搜索优化软件
  • 怎么查网站是哪家制作公司做的百度收录查询
  • 企业年金交了有好处吗网络优化工程师吃香吗
  • python做网站开发百度6大核心部门
  • 自己做网站平台企业网站优化价格
  • 淘宝网网站建设的需求分析百度会员登录入口
  • 建网站的专业公司推广网站多少钱
  • 网站不去公安局备案自己怎么搭建网站
  • 外贸网站建设入门深圳网络推广哪家
  • 网站模板资源公司网站推广