码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 两直线垂直,斜率乘积为-1的证明


          老早以前在学习初等函数的时候,线性函数中的两直线y = m0x + b0, y = m1x +b1如果垂直,则有结论两条直线的斜率乘积为-1即m0*m1 = -1,以前也只是拿来用,没有证明过。最近在学图形学的时候,突然想起了这个点,因此记一篇笔记,证明一下。

             如上图所示,有两条直线:y_0 = m_0x + b_0 和 y_1 = m_1x + b_1,它们相互垂直。这里可以得到一个隐含的条件是:  m_0 \neq m1 (斜率相等,y轴截距不同的两条直线是平行的,垂直的话则斜率不等)。

            图中两条直线的交点的坐标,我们可以通过求解方程得到,交点的y是相同的,因此我们有:

            m_0x + b_0 = m_1x + b_1

            求解得到交点的x坐标为:\frac{b_1 - b_0}{m_0 - m_1},

             将x分别代入y0和y1,得到交点的y坐标分别为:

             \frac{m_0(b_1 - b_0)}{m_0 - m_1} + b_0 和 \frac{m_1(b_1 - b_0)}{m_0 - m_1} + b_1,这两个值是相等的

            因此,图中三个关键的点坐标如下:

            直线y0在y轴的交点A坐标为(0,b0)

            直线y1在y轴的交点B坐标为(0,b1)

            两直线交点C坐标为 (\frac{b_1 - b_0}{m_0 - m_1}, \frac{m_0(b_1 - b_0)}{m_0 - m_1} + b_0) , (\frac{b_1 - b_0}{m_0 - m_1}, \frac{m_1(b_1 - b_0)}{m_0 - m_1} + b_1)这两个坐标对应同一个点。

            由于两条直线垂直,由勾股定理可知,斜边AB距离的平方 = 直角边AC距离的平方 + 直角边BC距离的平方。

            根据两点之间的距离公式,可以得到下面的等式:

            AB的距离的平方 = (b_1 - b_0)^2

            AC的距离的平方 = (\frac{m_0(b_1 - b_0)}{m_0 - m_1} )^2 + (\frac{b_1 - b_0}{m_0 - m_1})^2  (用C的第一种形式做距离计算,可以减掉b0)

            BC的距离的平方 = (\frac{m_1(b_1 - b_0)}{m_0 - m_1} )^2 + (\frac{b_1 - b_0}{m_0 - m_1})^2(用C的第二种形式做距离计算,可以减掉b1)

            根据勾股定义,可得:

            (b_1 - b_0)^2 = (\frac{m_0(b_1 - b_0)}{m_0 - m_1} )^2 + (\frac{b_1 - b_0}{m_0 - m_1})^2 + (\frac{m_1(b_1 - b_0)}{m_0 - m_1} )^2 + (\frac{b_1 - b_0}{m_0 - m_1})^2

            整理一下,得到:

            (b_1 - b_0)^2 = \frac{m_0^2(b_1 - b_0)^2}{(m_0 - m_1)^2} + 2\frac{(b_1 - b_0)^2}{(m_0 - m_1)^2}) + \frac{m_1^2(b_1 - b_0)^2}{(m_0 - m_1)^2}

            约掉(b1- b0)^2,整理得到:

            (m_0 - m_1)^2 = m_0^2 + 2 + m_1^2

            展开平方差:

            m_0^2 + m_1^2 - 2m_0m_1 = m_0^2 + m_1^2 + 2

            整理得到

            -2m_0m_1 = 2, 因此 m_0m_1 = -1

  • 相关阅读:
    VUE状态持久化,储存动态路由
    用Abp实现双因素认证(Two-Factor Authentication, 2FA)登录(一):认证模块
    第29集丨死亡的真相&生活的态度
    大数据安全 | 【实验】RSA加密解密
    数据链路层 随机接入-CSMA/CA协议
    计算机网络——16概述和传输层服务
    你真的了解IP地址吗?
    开源知识库平台Raneto
    在这个技术浮躁的时代也要注重架构的本质,多位大佬联袂推荐小团队构建大网站,让你少走弯路,甚至实现速成,成为优秀架构师!
    Matlab图像处理-从RGB转换为HSV
  • 原文地址:https://blog.csdn.net/vivo01/article/details/128127907
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号