相关疑难解决方法(0)

点在2点定义的线上的投影

我一直在设法解决这个问题。

要解决的问题

说我有3分。

P1 ---------- P2, and P3 can be anywhere around P1 and P2
Run Code Online (Sandbox Code Playgroud)

将P3插值到P1和P2之间的直线上要计算的公式是什么?

我需要一个公式来计算P3和P1之间的直线的新X,Y坐标。

到目前为止我的代码

        public Point lerp(Point P0, Point P1, Point P) 
        {
            double y1 = P0.Y + (P1.Y - P0.Y) * ((P.X - P0.X) / (P1.X - P0.X));
            double x1 = P.X;

            double y2 = P.Y;
            double x2 = P0.X + (P1.X - P0.X) * ((P.Y - P0.Y) / (P1.Y - P0.Y));

            return new Point((x1 + x2) / 2, (y1 + y2) / 2);
        } …
Run Code Online (Sandbox Code Playgroud)

c# geometry

5
推荐指数
1
解决办法
7967
查看次数

由 n 个点组成的包围矩形的最小面积

我想找到 n 个点集的最小外接矩形。首先我找到了凸包。如果我有一个来自点集的凸包(我通过格雷厄姆扫描得到它)存储为排序列表。通过二分搜索,我从凸包的每条边找到了距离最远的点。现在有了最大距离的一个边缘和点,我怎样才能找到其余的 2 个点,以便我可以制作一个矩形。我知道该凸包的至少两个极值点必须位于最小外接矩形(Xmin,Xmax,Ymin,Ymax)上。我该如何使用它?是否需要位于多边形的边缘,有什么办法可以做到这一点?我这样做的原因是我需要 O(nlogn) 时间复杂度。感谢您的每一次帮助。

例子:

例子

在此示例中,我们在矩形上有 Xmin 和 Ymax,但没有 Xmin 或 X max

algorithm geometry convex-hull computational-geometry

5
推荐指数
0
解决办法
204
查看次数