菜鸟教程小白 发表于 2022-12-12 18:16:11

基于最大倾角的iOS设备屏幕磁方向?


                                            <p><p>好的,我不认为这个问题已经被问过了,现在是我更快地得到答案的时候了,或者我会在我得到答案后添加答案,因为我必须接近。</p>

<p>让我解释一下:</p>

<p>考虑到 iOS 设备的俯仰和滚动(忘记偏航),我们有这样的角度</p>

<pre><code> *         r+
*    ------------
*    |         |
* p- °         |p+
*    |         |
*    ------------
*         r-
</code></pre>

<p>所以基于 body 引用系。</p>

<p>我们知道,当俯仰或滚动为 0 时,另一个是设备的最大倾角。但是当设备在滚动和俯仰方面都有倾斜时,我们需要使用四元数,下面的答案将使我们的屏幕正常。
<a href="https://stackoverflow.com/a/10836923/2332101" rel="noreferrer noopener nofollow">https://stackoverflow.com/a/10836923/2332101</a> </p>

<p>带有垂直引用向量的法线向量将为我们提供最大倾角。</p>

<p>因此,为了获得投影在水平面上的法线向量,CLHeading 中提供了航向方向,CLHeading 的 x 之间的角度(称为 x 轴,因为它是 iOS 主体框架坐标)应该给我们正确的磁航向(忘记真正的航向)。</p>

<p>在这个例子中:</p>

<pre><code> *         
*    ------------
*    |         |
*    °         |-&gt; (magnetic heading)
*    |         |
*    -----|------
*         v (max inclination example where p = 0)
</code></pre>

<p>所以在上面的例子中,我们知道它是 CLHeading.magneticHeading + 90°,但我不想像以前那样沿着这条路线走。我想使用提供的所有聪明的 API 以数学方式完成它。</p>

<p>IT 就是这么简单,但我尝试了很多选择都没有成功。</p>

<p>请帮助我找出我的想法错误的地方!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>答案如下:</p>

<p>从问题中提到的正常情况:</p>

<ol>
<li>将垂直向量与法线相乘,我们得到一个基于右手定则的水平向量。</li>
<li>再次将结果与法线相乘,将为我们提供最大倾角的方向。</li>
<li>使用 atan 函数并赋予它 atan2(finalVector.y,finalVector.x) 因为我们知道 x 轴指向北方。</li>
</ol>

<p>完成! </p>

<p>问题是:为什么这两种方法给出不同的读数?这是从 Core Location Framework 的 CLHeading 和 Core Motion 的 CMAttitude 工作的结果略有不同,还是我做的有些马虎?</p>

<p>谢谢</p></p>
                                   
                                                <p style="font-size: 20px;">关于基于最大倾角的iOS设备屏幕磁方向?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/21331128/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/21331128/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: 基于最大倾角的iOS设备屏幕磁方向?