点云几何 之 计算二维平面某一点到直线的距离(2)

2023-12-14 08:58:01

点云几何 之 计算二维平面某一点到直线的距离(2)

一、算法介绍.

计算某一点到直线的距离,这里的直线会用2个点来表示,如果你只有直线上一点和直线的方向向量,应该也可以转为2个点
(代码复制粘贴即可使用,需要注意的是,这里是直线,不是线段,要区分好,
而且只是二维的,要计算三维的可以参考 点到空间直线的四种距离计算方法

二、算法实现

1.代码

#include <iostream>
using namespace std;

struct Point {
    float x, y;
};

int main() {

    Point p1 = { 0, 0 };
    Point p2 = { 4, 0 };

    Point p = { -2, -6 };


    double dis = abs((p1.y - p2.y) * (p.x - p2.x) - (p.y - p2.y) * (p1.x - p2.x))/sqrt(pow(p2.y - p1.y, 2) + pow(p2.x - p1.x,2));
    cout << "点到直线的距离为: " << dis << endl;

    system("pause");
    return 0;
}

2.结果

在这里插入图片描述


总结

仅限二维场景使用

分子为0时,表示点到直线的距离为0

文章来源:https://blog.csdn.net/weixin_44329757/article/details/134982839
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。