我有一个构成曲线的值表,我希望在(Java或C)中使用一个算法,给出每个区间的值。
结果我需要=>
群1 => (0,0)(1,1)(2,2)
群2 => (2,2)(3,2)(4,2)
群3 => (4,2)(5,1.25)(6,0.5)
群4 => (6,0.5)(7,0.5)(8,0.5)(9,0.5)
(9,0.5)(10,1.5)(11,1.5)(12,1.5) Groupe 4 =>
有什么方法能给我看我给你看的结果呢?
我需要算法也能工作这种结构,而不仅仅是连在一起的线段
发布于 2016-01-20 10:20:59
你需要的是一个插值算法。有很多不同的属性,很难说哪一个适合你。
基本上,他们都采取了你的观点,并能够在两者之间提出合理的价值。
最简单的方法是线性插值。给定一个点x,y在x1,y1和x2之间,y2你有y = (x-x1)/(x2-x1) * y1 + (x2-x)/(x2-x1) * y2
,所以如果你选择一个x,你可以计算出y,这会给你直线段。
如果这对于您的应用程序来说太简单了,请查看一些曲线函数。Bezier在很多情况下都是首选的,因为它速度快,而且曲线依赖于有限的相邻点。见维基百科。
尽管如此,请记住,所有这些都是近似的,并且有很多假设,所以不太可能有一个完全符合基本真理。
https://stackoverflow.com/questions/34896680
复制相似问题