Есть ли в C # функция, которая может дать мне все точки на прямой линии между двумя точками в 3D?
Чтобы вычислить расстояние между этими двумя точками, я использую это:
public class Position {
public float x;
public float y;
public float z;
}
public void CalculateDistance(Position position1, Position position2, int mapId){
float deltaX = position1.x - position2.x;
float deltaY = position1.y - position2.y;
float deltaZ = position1.z - position2.z;
float distance = (float)Math.Sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ);
Console.WriteLine("Distance is: " + distance);
}
Пример координат:
Position pos1 = new Position();
pos1.x = 141.6586f;
pos1.y = 0.6852107f;
pos1.z = 153.2231f;
Position pos2 = new Position();
pos2.x = 142.336f;
pos2.y = 0.8685942f;
pos2.z = 130.8394f;
Допустим, расстояние в линии между этими двумя трехмерными координатами можно пройти за 5 секунд. Как я могу напечатать текущую координату за каждую 1 секунду?