У меня есть простой объект, который позволяет вам назначить три свойства (x, y, z) (давайте назовем этот объект «точкой», потому что это то, что он есть). Затем у меня есть второй объект с методом, который принимает два экземпляра первого объекта и возвращает расстояние между двумя «точками» в трехмерном пространстве. Мне также нужен метод, который будет принимать две "точки"
и double, представляющий пройденное расстояние (от первого используемого параметра «точка»), который возвращает «точечный» объект с его координатами x, y, z.
Я в порядке со всем, кроме вычисления координат точек, которые находятся на исходной линии между двумя поставленными точками, то есть на определенном расстоянии от первой точки.
«точечный» объект:
public class POR
{
private double PORX;
private double PORY;
private double PORZ;
public double X
{
get { return PORX; }
set { PORX = value; }
}
public double Y
{
get { return PORY; }
set { PORY = value; }
}
public double Z
{
get { return PORZ; }
set { PORZ = value; }
}
public POR(double X, double Y, double Z)
{
PORX = X;
PORY = Y;
PORZ = Z;
}
Я тогда использую:
public double PorDistance(POR por1, POR por2)
{
return Math.Round(Math.Sqrt( Math.Pow((por1.X - por2.X),2) + Math.Pow((por1.Y - por2.Y),2) + Math.Pow((por1.Z - por2.Z),2)),2);
}
чтобы вернуть расстояние между этими двумя точками, мне нужно что-то вроде
public POR IntersectPOR (POR por1, POR por2, double distance)
{
}
где расстояние - расстояние, пройденное от por1 к por2.