c# - 如何计算两个给定点和给定距离之间的点?

标签 c# java math geometry

我有点 A (35.163 , 128.001) 和点 B (36.573 , 128.707)

我需要计算位于A点和B点内的点

使用 2 点之间的标准距离公式,我发现 D = 266.3

位于直线 AB 内的每个点(黑点 p1、p2、... p8)之间的距离相等 d = D/8 = 33.3

我如何计算 p1、p2、...p8 的 X 和 Y?

欢迎Java或C#语言的例子

或者只是告诉我一个公式或方法就可以了。

谢谢。

**以上计算实际上用于计算我 map 中阴影级别的虚拟点并用于阴影区域插值目的*

find the X and Y for all the points between A and B

最佳答案

这很简单,但您需要一些数学知识。

        PointF pointA, pointB;

        var diff_X = pointB.X - pointA.X;
        var diff_Y = pointB.Y - pointA.Y;
        int pointNum = 8;

        var interval_X = diff_X / (pointNum + 1);
        var interval_Y = diff_Y / (pointNum + 1);

        List<PointF> pointList = new List<PointF>();
        for (int i = 1; i <= pointNum; i++)
        {
            pointList.Add(new PointF(pointA.X + interval_X * i, pointA.Y + interval_Y*i));
        }

关于c# - 如何计算两个给定点和给定距离之间的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249739/

相关文章:

c# - 如何从 window.external.Notify ("someText")的事件处理程序(即 WebBrowser.ScriptNotify 事件)获取结果返回给 JS?

c# - 同一台服务器上的多个 .NET 版本

java - 子类构造函数中的默认值要传递给父类(super class)吗?

math - float 学有问题吗?

c# - 无法将对象...转换为类型

c# - 将值存储到 android 设备

java - Grails 2.3 编译问题

java - 查询在mysql中有效,但在java中无效

c - 2n 缩放整数的 16 位加法

python - 线性方程的系数错误