2012-04-17 50 views
0

当用户在屏幕上拖动手指时,我正在绘制path。但是,如果他这样做的速度太快,我在path中得分太少。有没有什么办法,我可以在之后用户已经画好了吗?path之后我可以增加点数吗? 我需要这个,因为我将path1的每个点与path2上的所有点进行比较,以查看这两个paths何时相交。增加路径中的触点数量

+1

你真正画一条线(其只需要2个点),或路径(多点)? – 2012-04-17 17:20:55

+0

@乔纳森纠正了原来的帖子。谢谢。 – deeJ 2012-04-17 17:21:54

+0

我在这里找到了我的答案: http://stackoverflow.com/questions/3180531/android-path-to-array-read-the-points-on-a-path – deeJ 2012-04-18 12:10:36

回答

1

如果用户已经完成绘制路径,那么您可以做的最好的工作就是使用您拥有的点并猜测它们之间的相互关系。两种常用的猜测方法是在点之间插入线段,这会给出非常参差不齐的外观,或者可以使用样条插值,这样可以获得非常流畅的外观,但涉及更复杂的计算。在样条插补

更多信息:http://en.wikipedia.org/wiki/Spline_interpolation

无论您使用的线段或样条线,你需要用的公式为路径1段/花键和路径2段/花数学找到交集。你将有两个方程,两个变量,所以你应该能够解决系统找到满足两个方程的x和y的值,使得这个点成为交点。

http://en.wikipedia.org/wiki/Line-line_intersection