0

这是我在 HTML5 画布上的第一次游览,我有 jQuery 和 Javascript 的工作知识。我正在尝试用它创建一个“旋转的地球”效果。这个想法是让一个圆圈和经络在其上“旋转”,以产生旋转地球的效果。

我已经画了圆,现在我正在尝试创建从右侧开始的线(沿着圆的曲线),向中心移动(在中间它们是直的)并遵循逆曲率左,以圆圈结束。

我正在尝试使用 HTML5 画布和 jQuery 来做到这一点,但我不确定从哪里开始......我应该创建一个弧然后尝试对其进行动画处理吗?

我什至想知道画布是否是正确的工具,或者我是否应该使用其他任何工具。

欢迎任何建议!

塞巴斯蒂安

4

2 回答 2

0

这就是我得到的,没有时间继续进行:http: //jsfiddle.net/Z6h3Z/

我使用贝塞尔曲线,其中两个控制点位于以两极为中心的椭圆弧中。我被困在的是沿弧线的点分布,看起来更逼真。

于 2011-07-08T18:21:23.253 回答
0

您可以使用二次贝塞尔曲线,它基本上只是一条具有起点、终点和中间“控制点”的曲线,这是您想要在地球旋转时更改的曲线。在这种情况下,您的所有线将分别在您的“地球”的北极和南极开始和结束。例如,要制作以下行之一:

// start drawing a line
canvas.beginPath();
// move the the top of your globe
canvas.moveTo(0,0);
/* draw a curve with the control point specified by the first two args, 
 * end point by the second two:
 * (in your case, the control point would be in the middle of the globe) */
canvas.quadraticCurveTo(control_point_x, control_point_y, 0, 50);
// finish drawing, stroke and end
canvas.stroke();
canvas.closePath();

当然,您还必须考虑如何在每帧之后清除线条。

请参阅:Canvas 元素 API,复杂路径

于 2011-07-08T06:18:01.803 回答