有这样的需求,在椭圆的轨迹上放了几个物体,点其中一个,沿着椭圆的轨迹,旋转一定的角度。
一个物体沿着椭圆轨迹转一圈好实现,但是沿着椭圆轨迹走其中的一段,却不好实现,有哪位大侠有好的实现思路?
有这样的需求,在椭圆的轨迹上放了几个物体,点其中一个,沿着椭圆的轨迹,旋转一定的角度。
一个物体沿着椭圆轨迹转一圈好实现,但是沿着椭圆轨迹走其中的一段,却不好实现,有哪位大侠有好的实现思路?
bezier 和 arc 不是等价的。详见此文:
http://www.redblobgames.com/articles/curved-paths/
椭圆实际上就是在x轴或y轴拉伸过的正圆,可以用参数方程计算
x = a cos(t)
y = b sin(t)
其中 a 是x半轴长, b 是y半轴长
2 回答1.1k 阅读
1 回答1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答942 阅读
1 回答781 阅读
可以用
UIBezierPath
把要走的轨迹画出来,然后用CAKeyframeAnimation
设置path
属性,这样应该可以吧。update:
用
bezierPath
画椭圆的一部分,可以试试以下代码:效果:

我参考了这个答案。
另外,如同楼下所说,
bezierPath
的确跟椭圆不是完全相同的,不过视觉上就没有那么大差别啦~ 用参数方程的方法算坐标也可以的。