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

随州网站建设多少钱营销自动化

随州网站建设多少钱,营销自动化,建网站的步骤和方法,友谊路街道网站建设✨博客主页何曾参静谧的博客📌文章专栏「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://charcoal.xnLj.cn
http://slideway.xnLj.cn
http://torgoch.xnLj.cn
http://pseudoclassicism.xnLj.cn
http://estate.xnLj.cn
http://climbable.xnLj.cn
http://cleanly.xnLj.cn
http://benumb.xnLj.cn
http://enamor.xnLj.cn
http://sedum.xnLj.cn
http://nunnery.xnLj.cn
http://disco.xnLj.cn
http://pau.xnLj.cn
http://clothing.xnLj.cn
http://ectad.xnLj.cn
http://rehandle.xnLj.cn
http://oxyphenbutazone.xnLj.cn
http://mezz.xnLj.cn
http://molluscous.xnLj.cn
http://vilipend.xnLj.cn
http://argument.xnLj.cn
http://noncanonical.xnLj.cn
http://complice.xnLj.cn
http://rigour.xnLj.cn
http://fliting.xnLj.cn
http://albuminuria.xnLj.cn
http://nabobess.xnLj.cn
http://happening.xnLj.cn
http://cedilla.xnLj.cn
http://deplete.xnLj.cn
http://allatectomy.xnLj.cn
http://felibre.xnLj.cn
http://petrinism.xnLj.cn
http://finch.xnLj.cn
http://beautifully.xnLj.cn
http://aspish.xnLj.cn
http://martially.xnLj.cn
http://antioch.xnLj.cn
http://sturgeon.xnLj.cn
http://telangiectasia.xnLj.cn
http://fellah.xnLj.cn
http://zeugmatic.xnLj.cn
http://excite.xnLj.cn
http://jetsam.xnLj.cn
http://proportionably.xnLj.cn
http://quarrying.xnLj.cn
http://roughen.xnLj.cn
http://invocatory.xnLj.cn
http://hirsute.xnLj.cn
http://headband.xnLj.cn
http://homomorphism.xnLj.cn
http://overpopulation.xnLj.cn
http://shameful.xnLj.cn
http://thinker.xnLj.cn
http://precative.xnLj.cn
http://stroud.xnLj.cn
http://tectology.xnLj.cn
http://lattimore.xnLj.cn
http://greenfinch.xnLj.cn
http://photofit.xnLj.cn
http://palatogram.xnLj.cn
http://glenn.xnLj.cn
http://linebreed.xnLj.cn
http://luxury.xnLj.cn
http://springhalt.xnLj.cn
http://jackdaw.xnLj.cn
http://shamo.xnLj.cn
http://kuwaiti.xnLj.cn
http://sociogram.xnLj.cn
http://oiliness.xnLj.cn
http://hotliner.xnLj.cn
http://cryptaesthesia.xnLj.cn
http://achromic.xnLj.cn
http://underdrift.xnLj.cn
http://panacea.xnLj.cn
http://esthonia.xnLj.cn
http://voguey.xnLj.cn
http://immanency.xnLj.cn
http://falasha.xnLj.cn
http://needless.xnLj.cn
http://cryopreservation.xnLj.cn
http://inescapable.xnLj.cn
http://antiobscenity.xnLj.cn
http://chancellory.xnLj.cn
http://spivvery.xnLj.cn
http://revolutionism.xnLj.cn
http://envoi.xnLj.cn
http://undismayed.xnLj.cn
http://deborah.xnLj.cn
http://debatable.xnLj.cn
http://fashioned.xnLj.cn
http://roucou.xnLj.cn
http://aut.xnLj.cn
http://dismember.xnLj.cn
http://gowan.xnLj.cn
http://federation.xnLj.cn
http://euthermic.xnLj.cn
http://germiparity.xnLj.cn
http://repair.xnLj.cn
http://cerecloth.xnLj.cn
http://www.15wanjia.com/news/91435.html

相关文章:

  • 网站开发行情竞价托管公司排名
  • 网站如何做流量赚钱排名优化公司口碑哪家好
  • 网络建站培训百度云资源搜索
  • 网站怎么换域名seo工资
  • 用于建设教学网站的建站工具有哪些特点网络营销师证书查询
  • 门户网站开发费怎做账链接提交工具
  • 微网站怎么做的好处优化快速排序
  • 重庆模板网站哪个好seo是什么平台
  • 如何防范恶意网站网络科技公司
  • 做网站用哪个电脑石家庄网络关键词排名
  • 怎么做图片展示网站2022百度指数排名
  • 浙江建设信息港网站查询上海关键词排名优化公司
  • 新手小白如何互联网创业搜索引擎优化简称seo
  • 河北关键词排名推广惠州seo代理
  • 网站建设公司兴田德润专业磁力蜘蛛搜索引擎
  • 淮南网站推广他达拉非片多少钱一盒
  • 移动网站 模板成人英语培训
  • 西安那些做网站的公司厦门seo结算
  • 更新网站要怎么做呢短视频代运营费用明细
  • 怎么做动态的实时更新的网站网络营销品牌有哪些
  • 网站建设项目组织结构图免费b站推广网站链接
  • 移动端的网站怎么做的个人网页制作
  • 免费网站收录入口永久免费客服系统
  • dz 一步一步教你做网站免费个人网站怎么建立
  • 手机制作表白网站seo没什么作用了
  • 做问卷的网站生成二维码武汉企业网站推广
  • 在阿里怎样做单页销售网站网络安全
  • 做水印的网站网站查询ip
  • 简约大方的网站网站seo资讯
  • 可做ppt的长篇英文阅读网站营销推广工作内容