我正在开发一个将一些源代码ActionScript 3转换为C#的项目。它具有以下功能:
Point.interpolate(Point p1, Point p2, Number distance)
此功能的文档为here。
我想问一下函数的算法是如何工作的。
答案 0 :(得分:5)
正如文件所说:
参数f的值越接近1.0,插值点越接近第一点(参数pt1)。参数f的值越接近0,插值点越接近第二点(参数pt2)。
这可以这样实现:
public static function interpolate(pt1:Point, pt2:Point, f:Number):Point
{
var x:Number = f * pt1.x + (1 - f) * pt2.x;
var y:Number = f * pt1.y + (1 - f) * pt2.y;
return new Point(x, y);
}