点云几何 之 计算二维平面某一点到直线的距离(2)
2023-12-14 08:58:01
一、算法介绍.
计算某一点到直线的距离,这里的直线会用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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!