qt 组合图形的放大和缩小,难度比较大,寻求帮助

rcswhuang 2018-01-23 08:44:13
两个矩形AB如下图,组合成一个图形,然后组合后的大图形拖拽放大或者缩小,里面的矩形AB如何进行变化?
感觉这里面有比较复杂的公式或者坐标变换,但就是没头绪,都不知道解决的方向,求高手帮忙





求高手帮忙,详细讲解一下。如果有计算方法,请告知计算公式。多谢多谢
...全文
815 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rcswhuang 2018-01-24
  • 打赏
  • 举报
回复
引用 1 楼 dext 的回复:
这个真不难,就是坐标等比例变化,直接乘以一个矩阵就行了。如果学过图形学的话,参看仿射变换。
大神详细解释一下啊或者推荐点文章看看啊
TyiTguoQ 2018-01-24
  • 打赏
  • 举报
回复
1确定大矩形中心点; 2以中心点的上下左右分为四个区域; 3每个区域的缩放情况不一样; 4分别将内部矩形的顶点分到四个区域中;每个区域的点根据本区域缩放; 5利用顶点到中心点的位置关系分别执行缩放。 以左上角区域的点为例: 点到中心点的x,y相对大矩形(长宽为5,4的情况下)的左上角到中心点的相对位置为0.5,0.5,绝对位置为1.25,1(该点在大矩形右上角区域的中心点),缩放的x方向为1.1倍,y为1.2倍。相应的内部顶点的相对位置还是0.5,0.5,到中心点的距离变为1.375,1.2,OK!
dext 2018-01-23
  • 打赏
  • 举报
回复
这个真不难,就是坐标等比例变化,直接乘以一个矩阵就行了。如果学过图形学的话,参看仿射变换。

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧