16得票2回答
画布中曲线上的渐变描边

我试图在canvas上绘制一条曲线,使用渐变笔划样式沿着曲线,就像这张图片。在该页面上有一个链接的svg文件,它给出了如何在svg中实现此效果的说明。也许在canvas中可能有类似的方法?

16得票2回答
任意轮廓的平滑样条表示,f(长度) --> x,y

假设我有一组标记轮廓上点的x、y坐标。是否有一种方法可以构建轮廓的样条表示,以便我可以在其长度的特定位置评估其并恢复插值的x、y坐标?通常情况下,X和Y值之间不存在1:1的对应关系,因此单变量样条对我没有帮助。双变量样条将是很好的选择,但据我所知,在scipy.interpolate中用于评估...

16得票4回答
当三次贝塞尔曲线的端点改变时,如何找到新的控制点

我正在我的Android应用程序中实现三次贝塞尔曲线逻辑。 我已经在自定义视图的onDraw中的画布上实现了三次贝塞尔曲线代码。// Path to draw cubic bezier curve Path cubePath = new Path(); // Move to startPo...

16得票3回答
2D轨迹简化和平滑的算法

我正在寻找一种用于二维轨迹简化和平滑的算法。我有一个有序的2D点列表,这些点应该被简化,例如使用Ramer-Douglas-Peucker算法。但输出必须是平滑的,因此结果路径应由Bezier曲线或样条构成。是否有任何修改过的Ramer-Douglas-Peucker算法可以处理这个问题? ...

16得票4回答
在iPhone上查找简单三次贝塞尔曲线上给定距离的点。

假设您在Cocoa应用程序中使用curveToPoint:controlPoint1:controlPoint2:创建了一个完全正常的四点贝塞尔曲线(两个点和两个控制点): 如何在曲线上找到点(以及切线)? 稍后:要获取基于Michal下面的答案的完整、简化的解决方案,请点击: 查...

15得票4回答
使用CAMediaTimingFunction计算时间点(t)的数值

在Cocoa/Touch中,CAMediaTimingFunction代表了四个控制点,这些点指定了一个时间函数的三次贝塞尔曲线。我正在编写一个应用程序,希望能够在任意时间t(0 -> 1)提取该贝塞尔曲线的结果。令我困惑的是,当我查找如何执行此操作时,结果也应该是一个点,而不是标量: ...

15得票3回答
如何以与Siri显示的波浪效果相同的方式制作动画线条?

我想创建一个类似于iOS 7中Siri动态音频波形的声音/正弦波,如下图所示: 我知道如何创建和动画化UIBezierCurve正弦形状,并进行了大量搜索,但我没有找到任何方法来实现这种效果。 该线从平坦的状态开始,然后波动并结束于平坦状态。我没有使用任何音频文件,随机波动的...

14得票4回答
逐像素贝塞尔曲线

我通过谷歌搜索找到的二次/三次贝塞尔曲线代码大多是将直线细分为一系列点,并用直线连接它们。光栅化发生在直线算法中,而不是贝塞尔算法中。像Bresenham这样的算法按像素逐个光栅化线条,并可以进行优化(请参见Po-Han Lin's solution)。 有没有一种类似于直线算法的像素级二次...

14得票2回答
如何根据给定的点集计算平滑路径的控制点?

我正在使用UIBezierPath,但是这个问题涉及路径的控制点,而不是绘图。给定一组点,我可以渲染一条路径。然而,我一直未能弄清楚如何计算控制点以获得像照片曲线编辑器中那样的平滑线条(如何在UIKit中实现Photoshop曲线编辑器)。 我看到的最接近的答案在这里:如何跟踪手指在触摸时绘...

14得票2回答
加入贝塞尔曲线

我有一个问题。假设我们有由四个控制点定义的单个立方贝塞尔曲线。现在假设从某一点切割曲线,并且每个线段再次使用立方贝塞尔曲线表示。因此,现在如果我们给定两个这样的贝塞尔曲线B1和B2,是否有方法可以知道它们是否可以连接成另一个贝塞尔曲线B?这是通过连接两条曲线来简化几何形状并减少控制点数量。