Я работаю над проектом по преобразованию исходного кода ActionScript 3 в C #. Он имеет следующую функцию:
Point.interpolate(Point p1, Point p2, Number distance)
Документация для этой функции здесь .
Я хочу спросить, как работает алгоритм функции.
Как сказано в документации:
Чем ближе значение параметра 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); }