在使用QT绘制时,有时候会需要用到箭头,这里写了关于如何计算箭头。

float x1 = begin.x();
float y1 = begin.y();
float x2 = end.x();
float y2 = end.y();double angle = atan2(y2-y1,x2-x1);//计算线段的夹角
float l = 10;//箭头边的长度
float a = 0.5;//箭头与线段的夹角float new_x1 = x2 - l * cos( angle - a);
float new_y1 = y2 - l * sin( angle - a);
float new_x2 = x2 - l * cos( angle + a);
float new_y2 = y2 - l * sin( angle + a);

绘制箭头需要三个顶点,将end和新计算出的两个点连起来就是一个箭头。

这里用一个图进行简单的描述,画的比较糙,凑活看。

A点是线段的终点(QT坐标系方向相反,倒着看就好),B,C是箭头的另外的两个端点。黄色的角代表线段与箭头的夹角,蓝色的角是线段的夹角。通过上面的计算公式可以得到箭头。

QT总结10-绘制箭头相关推荐

  1. 3 vue 线条箭头_教程|PPT绘制箭头最全攻略,收藏一下!

    微信公众号:有宝物的柜子编辑:落水无波 2020-05-02 原创 由于没有较好的方向,公众号的更新一直暂停,根据昨天的留言,今天更新一篇关于绘制各类箭头的PPT教程,希望帮到需要的同学. 那么,我们 ...

  2. Leaflet中使用leaflet.polylineDecorator插件绘制箭头线及虚线矩形

    场景 Leaflet快速入门与加载OSM显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122290880 在上面的基础 ...

  3. Canvas学习:绘制箭头

    原文出处:https://www.w3cplus.com/canvas/drawing-arrow.html (本文对错误做了纠正,博主有一系列实用Canvas教程) 在这篇文章中主要来聊在Canva ...

  4. QT使用openGL绘制一个三角形

    对于opengl的学习来说,绘制一个三角形是学习一种计算机语言时的一个hello world级的入门程序,个人觉得相比主流语言的helloworld,openGL的入门确实是有一些劝退,虽然说有不错的 ...

  5. python画箭头opencv_OpenCV绘制箭头线

    OpenCV绘制箭头线 可以使用imgproc类的arrowedLine()方法在图像上绘制箭头线. 以下是这种方法的语法 - arrowedLine(Mat img, Point pt1, Poin ...

  6. OpenCV-Python学习(14)—— OpenCV 绘制箭头线(cv.arrowedLine)

    1. 学习目标 学会使用 cv.arrowedLine 带箭头的直线: 绘制箭头的直线的注意事项. 2. 绘制箭头直线 cv.arrowedLine 函数说明 2.1 cv.arrowedLine() ...

  7. R语言使用rnorm函数生成正太分布数据、使用plot函数可视化折线图、使用arrows函数在可视化图像中绘制箭头曲线、绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头、2终点箭头,3双箭头)

    R语言使用rnorm函数生成正太分布数据.使用plot函数可视化折线图.使用arrows函数在可视化图像中绘制箭头曲线.绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头.2终点箭头,3双箭头) ...

  8. Matlab绘制箭头坐标轴图形

    函数功能 Matlab自带绘图函数,坐标轴不带箭头,如下所示: 有时经常需要使用Matlab绘制坐标轴带有箭头的图形,特别是一些原理性的图形,只需要定性表达曲线的变化趋势,无需精确表达曲线的数量关系, ...

  9. Qt:QtCharts绘制图表实时采集温度

    目录 Qt Charts介绍 视图-QChartView 图表-QChart 系列-QAbstractSeries 坐标轴-QAbstractAxis 图例-Legend 创建GUI界面 界面布局 完 ...

  10. Ubuntu 17.10安装Qt 5.10环境与Qt Creator 4.5开发工具(转自linux公社)

    记录下在Ubuntu 17.10搭建Qt环境与安装Qt Creator开发工具的过程.机器装的Linux是Ubuntu 17.10,16.04与17.04的应该也相同. Qt 5.10和Qt 3D S ...

最新文章

  1. python快速入门答案-Python快速入门(一)
  2. 在linux中,我为什么不能安装VMware Tools?
  3. Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions发布1.1 CTP版本扩展
  4. 小鱼会有危险吗(洛谷-P1426)
  5. 基于java的打砖块游戏_cocos creator 制作的打砖块游戏
  6. git遇到的问题 .Git: There is no tracking information for the current branch.
  7. 当自己颓废的时候怎么激励自己?深度好文!!!
  8. 银行业务队列简单模拟Java程序设计_PTA 数据结构 银行业务队列简单模拟
  9. MaxCompute助力小影短视频走向全球化
  10. K进制 nyoj882
  11. IP地址,开放端口,http与https的区别
  12. 如何封装axios?axios 的简单封装
  13. 遗传算法(二 )——通用框架
  14. 详解条件概率,全概率,贝叶斯公式
  15. 南京邮电大学壁纸计算机院,立夏 | 一大波夏日壁纸放送
  16. 栈(Stack)和队列(Queue)区别
  17. 程序员与软件工程师的区别
  18. SVN在Eclipse中的安装步骤以及使用方法和建立分支
  19. java web项目VO,dao,pojo,dto,bo,
  20. TCP通信常用的send,sendto,recv,recvfrom函数详解

热门文章

  1. 牛客练习赛30-A/C
  2. 微信小程序入门:和风天气小程序
  3. Python爬虫:盖楼抽奖还手动?自动的她不香吗?
  4. 班级校园网页设计作业 静态HTML我的班级网页 DW班级网站模板下载 大学生简单班级网页作品代码 我的大学网页制作 学生班级网页设计作业
  5. WorldPress博客系统更换域名导致博客访问出错的解决方案
  6. 手把手带你搭建一个简单的webpack脚手架(一)
  7. 2019很艰难,2020会更好吗
  8. 金蝶EAS BOS工作流开发(附带JAVA脚本)
  9. linux把大文件分成小文件,linux文件分割(将大的日志文件分割成小的)
  10. Java设计模式学习笔记