Интерполировать две строки [закрыто]C#

Место общения программистов C#
Anonymous
Интерполировать две строки [закрыто]

Сообщение Anonymous »

Я хочу выполнить интерполяцию двух линий, которые представляют собой профили сечения канала или реки.
Линии — это список PointF(x,y). Первая и вторая строки имеют разное количество вершин и разную длину. Я прилагаю рисунок в AutoCAD для демонстрации моей проблемы.
Надеюсь, кто-нибудь подскажет мне, что делать.
Модель данных в моем коде:

Код: Выделить всё

namespace CSV2KANAL2.Geo {
public class LSectionPoint
{
public LSectionPoint()
{
Guid guid = Guid.NewGuid();
LSectionPointID = guid.ToString();
IsUserModified = false;
}
public string LSectionPointID { get; set; }
public Geo.Point pointOriginal { get; set; }
public string PointName { get; set; }
public Boolean Side { get; set; }
public double Distance { get; set; }
public double Level { get; set; }
public string Description { get; set; }
public bool IsUserModified { get; set; }
public string Station { get; set; }
}

public enum LSectionDirection
{
LeftToRight,
RightToLeft
}

public class LSection
{
public LSection()
{
Guid guid = Guid.NewGuid();
LSectionId = guid.ToString();
Direction = LSectionDirection.LeftToRight;
}
public string LSectionId { get; set; }
public int chainage { get; set; }
public Point BasePoint { get; set; }
public LSectionDirection Direction { get; set; } = LSectionDirection.LeftToRight;
public bool IsInterpolated { get; set; } = false;
public bool IsFix { get; set; } = false;
public List lSectionPoints { get; set; } = new List();

} }
Я пробовал использовать все расстояния от первой и второй строк и интерполяцию между ними с помощью findNearestPoint, findNearestPointByPercentage в режиме онлайн, но это не дает лучшего результата результаты.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -two-lines

Вернуться в «C#»