docs: document smoothing processing core

This commit is contained in:
梁薄云
2026-08-04 14:29:51 +08:00
parent 4a7dd875a4
commit 8f6e97e88f
17 changed files with 153 additions and 11 deletions
@@ -36,6 +36,22 @@ internal sealed class QuinticHermiteCurve2D
_y5 = y5;
}
/// <summary>从两个端点的位置、一阶导数和二阶导数创建参数区间 [0, 1] 上的五次 Hermite 曲线。</summary>
/// <param name="x0">起点 X 坐标,单位 m。</param>
/// <param name="y0">起点 Y 坐标,单位 m。</param>
/// <param name="dx0">起点对参数的 X 一阶导数。</param>
/// <param name="dy0">起点对参数的 Y 一阶导数。</param>
/// <param name="ddx0">起点对参数的 X 二阶导数。</param>
/// <param name="ddy0">起点对参数的 Y 二阶导数。</param>
/// <param name="x1">终点 X 坐标,单位 m。</param>
/// <param name="y1">终点 Y 坐标,单位 m。</param>
/// <param name="dx1">终点对参数的 X 一阶导数。</param>
/// <param name="dy1">终点对参数的 Y 一阶导数。</param>
/// <param name="ddx1">终点对参数的 X 二阶导数。</param>
/// <param name="ddy1">终点对参数的 Y 二阶导数。</param>
/// <param name="curve">成功时为可求值曲线;失败时为 <see langword="null"/>。</param>
/// <param name="reason">失败原因;成功时为空字符串。</param>
/// <returns>全部边界条件有限且一阶导数非零时为 <see langword="true"/>;否则为 <see langword="false"/>。</returns>
internal static bool TryCreate(
double x0, double y0, double dx0, double dy0, double ddx0, double ddy0,
double x1, double y1, double dx1, double dy1, double ddx1, double ddy1,
@@ -69,6 +85,14 @@ internal sealed class QuinticHermiteCurve2D
return true;
}
/// <summary>在归一化参数处求曲线位置及其一阶、二阶导数。</summary>
/// <param name="u">闭区间 [0, 1] 内的无量纲曲线参数。</param>
/// <param name="x">返回位置 X,单位 m。</param>
/// <param name="y">返回位置 Y,单位 m。</param>
/// <param name="dx">返回 X 对参数的一阶导数。</param>
/// <param name="dy">返回 Y 对参数的一阶导数。</param>
/// <param name="ddx">返回 X 对参数的二阶导数。</param>
/// <param name="ddy">返回 Y 对参数的二阶导数。</param>
internal void Evaluate(
double u,
out double x, out double y,