点到平面的基本距离推导公式

关注WX公众号: commindtech77, 获得数据资产,推荐系统源码等相关白皮书下载地址

回复关键字:推荐系统
下载《新闻资讯个性化推荐系统源码及白皮书》

这是高中时候的基础数学,然而也是比较重要的一个知识点,在很多地方都会用到,在基于超平面分类算法中,向量空间中任意一点到超平面的距离也是一个基础知识点

平面的一般式方程

Ax +By +Cz + D = 0

其中n = (A, B, C)是平面的法向量,D是将平面平移到坐标原点所需距离(所以D=0时,平面过原点)

向量的模(长度)

给定一个向量V(x, y, z),则|V| = sqrt(x * x + y * y + z * z)

向量的点积(内积)

给定两个向量V1(x1, y1, z1)和V2(x2, y2, z2)则他们的内积是

V1V2 = x1x2 + y1y2 + z1z2

点到平面的距离

有了上面的准备知识,则求点到直线的距离不再是难事,有图有真相

如果法相量是单位向量的话,那么分母为1

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
作为 AI,我可以帮你提供物理公式的 Python 实现,但我无法推导物理公式。以下是一个使用大学物理方法推导抛体运动公式并用 Python 实现的示例: 抛体运动公式:$y = y_0 + v_{0y}t - \frac{1}{2}gt^2$ 其中,$y$ 为抛体高度,$y_0$ 为抛体初始高度,$v_{0y}$ 为抛体初始竖直方向速度,$t$ 为时间,$g$ 为重力加速度。 假设有一个抛体,初始高度为 $y_0$,初始速度为 $v_0$,以角度 $\theta$ 与水平面成 $\alpha$ 角度方向抛出。把竖直方向和水平方向分开考虑: 竖直方向上的运动:在竖直方向上,抛体受到向下的重力作用,因此有 $v_{0y} = v_0 \sin\theta$,$y_0 = 0$,$g = 9.8m/s^2$,代入抛体运动公式可得: $y = v_0\sin\theta t - \frac{1}{2}gt^2$ 水平方向上的运动:在水平方向上,抛体不受力,因此速度保持不变,有 $v_{0x} = v_0 \cos\theta$,因此可以得到水平方向上的运动距离为: $x = v_{0x}t = v_0 \cos\theta t$ 将上述两个式子组合起来,得到抛体的轨迹方程: $x = v_0 \cos\theta t$ $y = v_0\sin\theta t - \frac{1}{2}gt^2$ 将上述方程用 Python 实现: ```python import math # 定义常量 g = 9.8 # 输入参数 v0 = float(input("请输入抛体初速度(m/s):")) theta = float(input("请输入抛体抛出角度(度):")) alpha = float(input("请输入抛体抛出方向与水平面的夹角(度):")) # 将角度转换为弧度 theta = math.radians(theta) alpha = math.radians(alpha) # 计算水平方向和竖直方向初速度 v0x = v0 * math.cos(theta) v0y = v0 * math.sin(theta) # 计算抛体的运动轨迹 t = 0 while True: x = v0x * t y = v0y * t - 0.5 * g * t ** 2 if y < 0: break print("时间:{:.2f} s,位置:({:.2f},{:.2f}) m".format(t, x, y)) t += 0.1 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值