菜鸟教程小白 发表于 2022-12-12 12:48:03

ios - iOS 中的粘糊糊效果


                                            <p><div>
            <aside class="s-notice s-notice__info post-notice js-post-notice mb16"role="status">
      <div class="d-flex fd-column fw-nowrap">
            <div class="d-flex fw-nowrap">
                <div class="flex--item wmn0 fl1 lh-lg">
                  <div class="flex--item fl1 lh-lg">
                        <b>关闭</b>。这个问题需要更多 <a href="https://stackoverflow.com/help/closed-questions" rel="noreferrer noopener nofollow">focused</a> .它目前不接受答案。
                        
                  <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>有趣的问题。</p>

<p>在我的脑海中,这是我可能的处理方式:</p>

<p>计算两个圆的交点(我找到了这个链接:<a href="https://stackoverflow.com/questions/3349125/circle-circle-intersection-points" rel="noreferrer noopener nofollow">Circle-circle intersection points</a>)</p>

<p>计算每个圆相交部分的圆弧范围。</p>

<p>将这些圆弧范围扩大几度。为每个圆的其余部分定义弧(将被绘制为“非粘性”的部分)</p>

<p>使用 trig 和 <a href="https://en.m.wikipedia.org/wiki/Centripetal_Catmull%E2%80%93Rom_spline" rel="noreferrer noopener nofollow"><strong>Catmull-Rom splines</strong></a> ,为每个圆圈的外部“非粘性”部分创建一个封闭路径。 </p>

<p>Catmull-Rom 算法应该使用看起来很像您显示的“粘糊糊”的圆的平滑曲线来填充 2 个部分圆之间的间隙。</p>

<p>我在 github 上有一个项目,其中包含用于从一系列点创建 Catmull-Rom 样条的 Swift 代码:<a href="https://github.com/DuncanMC/TrochoidDemo" rel="noreferrer noopener nofollow"><strong>Trochoid demo</strong></a> </p>

<p>该项目创建开放曲线,而不是封闭路径。使用 Catmull-Rom 样条线创建平滑闭合路径的技术略有不同。我有另一个名为 <a href="https://github.com/DuncanMC/RandomBlobs" rel="noreferrer noopener nofollow"><strong>RandomBlobs</strong></a> 的 Github 项目(用 Objective-C 编写)创建平滑的闭合路径。您应该能够弄清楚如何更改 Swift 代码以从 Objective-C 代码创建封闭路径。自从我写了 RandomBlobs 代码以来已经很久了,我不记得我到底做了什么。</p>

<p>我不确定我上面描述的方法是否足够快以实时绘制,但我敢打赌。 TrochoidDemo 项目为每个动画帧进行了 <strong>lot</strong> 的触发,并且它的动画非常流畅。如果您的项目不够流畅,您可能需要进行一些优化。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - iOS 中的粘糊糊效果,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41910226/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41910226/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - iOS 中的粘糊糊效果