ios - 如何计算2个非相似矩形之间的比例因子
<p><p>希望有人可以帮助我:) </p>
<p>我正在尝试将一个点从 map (纬度、经度)缩放到图像(x、y)。
为此,我需要找到 2 个非相似矩形之间的比例因子(我认为)。</p>
<p>我会澄清一下,比方说:</p>
<p>矩形 1:A(40.0, 50.0) B(40.0, 56.0) C(43.0, 56.0) D(43.0, 50.0) </p>
<p>(纬度增量 = 3,经度增量 = 6)。</p>
<p>矩形2:E(0, 0) F(500, 0) G(500, 300) H(0, 300) </p>
<p>(X 增量 = 500,Y 增量 = 300)。</p>
<p>如何将点 P(41.5, 52.5) 从矩形 1 缩放到矩形 2 上的点 (x, y)?</p>
<p><strong>更新:</strong></p>
<p>总体思路:</p>
<p>我正在尝试在自定义图像(不是 map 图像,我自己的绘图)上显示用户当前位置(纬度、经度),因此我无法使用 map (MKMapKit、谷歌、汤姆汤姆) . </p>
<p>我有用户当前位置(通过 CoreLocation)和一张图片 (800x460)。</p>
<p>我正在绘制的区域很小,所以我不需要担心地球的曲线。 </p>
<p>我正在尝试找到一个公式来帮助我将我的用户(经纬度)位置缩放到我的图像中(在我的 iPhone 屏幕上)</p>
<p>谢谢!!!</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>嗯,得到与第一个相似但适合第二个的矩形并不难。方法如下:</p>
<pre><code>CGRect rect1, rect2; //your rectangles.
float scale = MIN(rect1.size.width / rect2.size.width , rect1.size.height / rect2.size.height);
CGRect resultedRect;
resultedRect.origin = rect2.origin;
resultedRect.size = CGSizeMake(rect2.size.width * scale, rect2.size.height * scale);
//resultedRect is similar with rect1 but fits in rect2. You can now multiply your point with "scale" and get the new position.
</code></pre>
<p>我不确定这是你想要达到的目标。</p>
<p>问候,</p>
<p>乔治</p></p>
<p style="font-size: 20px;">关于ios - 如何计算2个非相似矩形之间的比例因子,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/13049709/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/13049709/
</a>
</p>
页:
[1]