3d点到直线距离代码实现

inline float point2line(float x1, float x2, float px, float y1, float y2, float py, float z1, float z2, float pz)
	{
		float deltax1 = px - x1, deltay1 = py - y1, deltaz1 = pz - z1;
		float side1 = sqrt(deltax1*deltax1 + deltay1*deltay1 + deltaz1*deltaz1);
		float deltax2 = px - x2, deltay2 = py - y2, deltaz2 = pz - z2;
		float side2 = sqrt(deltax2*deltax2 + deltay2*deltay2 + deltaz2*deltaz2);
		float deltax3 = x2 - x1, deltay3 = y2 - y1, deltaz3 = z2 - z1;
		float side3 = sqrt(deltax3*deltax3 + deltay3*deltay3 + deltaz3*deltaz3);
		float p = (side1 + side2 + side3)*0.5f;
		return 2 * sqrt(p*(p - side1)*(p - side2)*(p - side3)) / side3;
	}
x1,x2为直线上两点,px为需代入求距离的点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值