Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将坐标转换为旋转坐标系

将坐标转换为旋转坐标系
EN

Stack Overflow用户
提问于 2011-08-23 14:15:10
回答 1查看 2.7K关注 0票数 2

我正在尝试将旧图形编辑器的旋转和裁剪矩形设置转换为使用与旧编辑器不同的坐标系的新编辑器。下图说明了这个问题:

所有的矩形都有相同的纵横比(例如3:2),并且所有的坐标都在边缘上进行了标准化(即在X和Y方向上从0到1)。

旧程序保存与绿色矩形(原点为A)对齐的坐标系中给定的蓝色矩形C的角坐标,以及黄色矩形的旋转角度。

新程序需要坐标系统中蓝色矩形的角坐标与黄色矩形对齐(原点为B)。如何实现从旧到新的转换?

这似乎是一道简单的数学题,但数学课已经上了这么多年了,我既不能用纸笔解决这个问题,也不能搜索这个网站(有很多类似的问题,但我找不到一个匹配的……)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-23 18:25:11

c(0), c(1), c(2), c(3)C的四个角,b(0)是B的坐标系所在的角B。设q是B的x轴的旋转角度。所有这些角度和点必须在同一坐标系中给定。

要找到B中c(i)的坐标,请将向量c(i) - b(0)旋转角度q (或-q,取决于测量对象的方式)。为此,您可以使用旋转矩阵。让cq = cos(q)sq = sin(q)(dx, dy) = c(i) - b(0)。B中的c(i)的坐标是

c = (c(0) + c(2)) / 2是C的中心,S(s)是按s缩放的矩阵,R(q)是按q旋转的矩阵。B的角由下式给出

代码语言:javascript
运行
AI代码解释
复制
b(i) = c + S(s) * R(q) * (c(i) - c)

矩形A的角点a(0), a(1), a(2), a(3)也是已知的。我们希望确定缩放参数s的最大可能值,使得B的所有点b(i)都在矩形A内。

我认为这里最安全和最简单的方法是考虑相关的b(i)a(i)对,对于这些对,计算最大值s(i, j),如果是s = s(i, j),则b(i)位于a(j)的角区域内。

a(0)a(2)是A的对角,c(0)c(1)是C的邻角,r(j) = a(j) - cd(i) = R(q) * (c(i) - c)是C的邻角。

每个对角线i可以按以下比例进行缩放

代码语言:javascript
运行
AI代码解释
复制
s(i, j) = min (|r(j).x| / |d(i).x|, |r(j).y| / |d(i).y|)

在B移出r(j)定义的区域之前。计算i = 0, 1j = 0, 2s(i, j),并将s设为这4个值中的最小值。

根据q的测量方式,您可能需要对q应用转换q' = atan2(kx * sin(q), ky * cos(q)),以解决纵横比问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7162439

复制
相关文章
Google Play商店推广那些事
Play商店是Android的官方商店,虽然在大陆无法访问,但是这里依旧是重要的版本发布市场,尤其是对于那些国际化的产品。对于拓宽海外市场,付费推广就是一部分不可忽视的措施。而Android付费推广必然就是Play商店推广。本文主要从技术方面讲解,如何统计推广数据,以及在开发过程中遇到的一些疑问和困惑。
技术小黑屋
2018/09/05
3.8K0
Google Play商店推广那些事
你,渴望 Google Play 商店吗?
由于一些众所周知而又不可描述的原因,我们的安卓手机想使用Google Play商店还是很麻烦的,需要解决环境问题,还需要解决网络问题,总之,各种问题。
课代表
2018/12/18
2.2K0
Google Play商店现17款DawDropper银行恶意软件
7月29日,趋势科技发布了一份报告,揭露了在Google Play应用商店内的一系列银行类恶意软件活动。 报告主要分析了17款伪装成生产力工具和实用应用程序的滴管应用程序,它们被统称为DawDropper。根据报告描述,这17款应用包括了文档扫描仪、VPN 服务、二维码阅读器和通话记录器等多种类型,共携带了四个银行木马系列,包括 Octo、Hydra、Ermac和TeaBot。它们都使用第三方云服务 Firebase Realtime Database 来逃避检测并动态获取有效载荷下载地址,并在 GitHu
FB客服
2023/03/30
1.5K0
Google Play商店现17款DawDropper银行恶意软件
【Google Play】从 Android 应用中跳转到 Google Play 中 ( 跳转代码示例 | Google Play 页面的链接格式 | Google Play 免安装体验 )
首先 , 创建 Intent , 设置其 Action 为 “android.intent.action.VIEW” ,
韩曙亮
2023/03/30
6.3K0
首款采用Kotlin语言编写的恶意APP现身Google Play商店
“用指尖改变世界” 趋势科技的安全研究人员在上周发现了一款名为“Swift Cleaner”的恶意应用程序,他们认为这可能是首款使用开源Kotlin编程语言开发的Android手机恶意软件。 根据趋势科技在1月9日发布的博客文章,该应用程序已经被下载了1000到5000次之间。它伪装成手机系统清理工具,描述为可以提供系统和缓存清理以及内存优化等实用功能。 但实际上,它能够执行恶意远程命令、信息窃取、未经授权的SMS发送和URL转发以及点击或广告诈骗。同时,它还能够在未经许可的情况下,给受害者注册高级
企鹅号小编
2018/02/07
1.7K0
首款采用Kotlin语言编写的恶意APP现身Google Play商店
新型银行木马正通过Google Play商店攻击英国银行用户
据Security Affairs消息,荷兰安全公司Threat Fabric的研究人员发现了一种名为 Xenomorph的新 Android 银行木马,目前已通过谷歌官方应用商店官方 Google Play下载安装了超5万次。
FB客服
2022/04/11
7380
新型银行木马正通过Google Play商店攻击英国银行用户
间谍软件潜入Google Play
研究人员发现了第一个已知的间谍软件,它建立在Ahmyth开源恶意软件的基础上,并绕过了谷歌的应用审查过程。这个恶意的应用程序叫做RadioBalouch,又称RBMusic,实际上是一个为Balouchi音乐爱好者提供的流媒体应用程序,而它的关键在于窃取用户的个人数据。该应用两次悄悄地进入了Android官方应用商店,但在我们向谷歌发出警告后,都被谷歌迅速删除。
FB客服
2019/09/17
1.4K0
间谍软件潜入Google Play
【Google Play】Google Play 签名维护 ( 签名机制 | Google Play 签名机制选择 | 签名更新 )
【Google Play】创建 Google 开发者账号 ( 注册邮箱账号 | 创建开发者账号 ) 【Google Play】创建并设置应用 ( 访问权限 | 内容分级 | 受众群体 | 类别及联系方式 | 商品详情 )
韩曙亮
2023/03/29
10.1K0
【Google Play】Google Play 签名维护 ( 签名机制 | Google Play 签名机制选择 | 签名更新 )
Google Play遭禁止,俄罗斯打造专属手机应用商店,实现“国产替代”
“国产化替代”势在必行。 作者 | 来自镁客星球的王饱饱 据外媒最新消息,"数字平台"组织正在基于Android开发一个名为NashStore的类似Google Play的应用程序商店,从而让俄罗斯的用户可以正常使用手机上的应用程序。 根据该组织的项目主管弗拉基米尔·齐科夫(Vladimir Zykov)的说法,这款国产应用商店预计将在今年5月9日(这一天是俄罗斯庆祝二战胜利的全国性节日)正式上线。 弗拉基米尔·齐科夫指出,创建NashStore的原因是俄罗斯人目前使用Google Play时已经遇到不少困
镁客网
2022/03/31
1.8K0
Google Play遭禁止,俄罗斯打造专属手机应用商店,实现“国产替代”
Google Play中止俄罗斯用户付费应用程序下载更新
Bleeping Computer 网站披露,谷歌将禁止俄罗斯用户和开发者从 Google Play 商店下载或更新付费应用程序。
FB客服
2022/06/08
1K0
Google Play中止俄罗斯用户付费应用程序下载更新
JSoup/NSoup对CSS类名称中含空格的处理
而在这处理过程中,JSoup是经常常用的库。(Nsoup是Jsoup的.net开发版本)
sparkexpert
2022/05/07
1.1K0
Google Play商店漏洞:黑客可远程在你的安卓手机上安装恶意APP
安全研究人员发现Google Play商店中两个严重安全漏洞,可以允许攻击者远程在用户的安卓设备上安装并下载恶意APP(应用)。 Metasploit框架的技术领导Tod Beardsley在Rapid7上提醒说: 一个X-Frame-Options(XFO)漏洞结合一个最近的安卓WebView(Jelly Bean)漏洞,就可以创造出一种新的攻击方式——通过该方式黑客可以利用google play商店悄无声息地向受害者的安卓设备安装任何恶意APP,即使没有征得用户允许。 受影响的用户 该漏洞影响安卓4
FB客服
2018/02/05
2K0
Google Play商店漏洞:黑客可远程在你的安卓手机上安装恶意APP
对接google play支付
设置开发者帐号后,您必须发布包含 Google Play 结算库的应用版本。如需在 Google Play 管理中心启用结算相关功能(如配置您要销售的商品),必须执行此步骤。
崔哥
2022/09/08
2.3K0
使用 Jetpack Compose 提升 Play 商店的用户体验
作者 / Google Play 技术负责人 Andrew Flynn 和 Jon Boekenoogen
Android 开发者
2022/04/02
3.2K0
使用 Jetpack Compose 提升 Play 商店的用户体验
Google Play In-app Billing
应用程序内部付费机制(Google Play In-app Billing, 以下简称应用内支付)是Google Play的一项服务,这种服务为应用内购买提供支付流程。
阳光岛主
2019/02/19
4.2K0
Google Play In-app Billing
Google Play 封杀第三方支付
摘要:北京时间2012年8月2日,Google Android Play应用商店管理团队发布公告称,该公司将对“开发人员应用政策”作出调整,调整的内容包括支付政策、应用命名、隐私安全等。
阳光岛主
2019/02/19
2.9K0
Google Play 封杀第三方支付
google play 支付签名验证
app端支付成功会有一个Purchase对象,里面有购买令牌(purchaseToken)和其他参数,如下
崔哥
2022/09/07
2.3K0
google play 支付签名验证
如何切换google play地区?
后来我使用我的 Nexus 6 手机注册:设置->帐号->添加帐号->Google->创建帐号,成功注册。
崔哥
2022/09/08
2.3K0
恶意应用程序上架谷歌商店,下载竟超1000万次
近期,来自Dr. Web的防病毒团队在Google Play商店中发现了一批充斥着广告软件和恶意软件的Android应用程序,令人惊讶的不是这些应用程序是如何通过审核的,而是这些应用程序已在移动设备上安装了近 1000万次。 这些应用程序通常会伪装成图像编辑工具、虚拟键盘、系统优化工具、壁纸更换工具等。但是,它们的目的是推送侵入性广告、为用户订阅高级服务或窃取受害者的社交媒体帐户。虽然谷歌及时删除了绝大多数此类应用程序,仍有一些漏网之鱼,截至目前仍有三类应用程序可通过Google Play商店下载和安装。如
FB客服
2023/03/30
7850
恶意应用程序上架谷歌商店,下载竟超1000万次
Linux中删除特殊名称文件的多种方式
我们都知道,在linux删除一个文件可以使用rm命令,但是有一些特殊名称的文件使用普通的rm方式却没法删除,本文介绍linux中删除特殊名称文件的多种方式。
编程珠玑
2019/09/02
5.5K0

相似问题

如何在选中单元格后停止DataGridView编辑?

21

如何在UItableview中选中单元格进行图像显示

21

变换后在元素上进行移位/跳转

10

集合单元格在选中后不会不被选中

22

选中/取消选中单元格CheckBox后,RadGridView更改行颜色

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档