c++直角坐标系与极坐标系的转换_平面向量的奇技淫巧——斜坐标系的一系列低级研究...

事先说明:笔者初三,如在叙述中有不严谨的地方,还请诸位指出,自当感激不尽。

一.什么是斜坐标系

众所周知,我们目前平面中使用相当广的坐标系是笛卡尔发明的平面直角坐标系。然而,笛卡尔真的只使用了这一种坐标系吗?显然不是的。事实上,笛卡尔最先使用的是一种斜坐标系,即x轴与y轴夹角不为π/2的坐标系,这种坐标系更为一般化,也更自然。

f8067b5e873e8ac5f41b29f67f3078e4.png
如图,斜坐标系相比直角坐标系多的一个要素就是x轴与y轴夹角(以后在本文中统称θ角)与直角坐标系相同,坐标系同样拥有4个象限,象限内点性质也与直角坐标系中相同。将向量op表示为a倍的x轴方向的单位向量和b倍的y轴方向上单位向量,即p点坐标(a,b)斜坐标系中定比分点,直线表示等依然成立

7ee5ab47781565cc51f6319ce0df2ef0.png
与平面直角坐标系相同,当直线op是第一象限角平分线时,易知将向量op分解后的平行四边形是菱形,因此p的横纵坐标相同,那么l op:y=x。同理,2,4象限角平分线为y=-x

由此,对于一类题目如下:

△ABC平面内一动点p满足向量Ap=λ(向量AB/|向量AB|+向量AC/|向量AC),我们根据斜坐标系可以直接看出它在∠BAC的角平分线上运动。

另附一些斜坐标系的小内容,感兴趣的不妨自己推理一下:

1.与x轴垂直的直线,k=-1/cosθ 2.与y轴垂直的直线,k=-cosθ

3.若以三角形abc的a为原点,以两边方向为坐标轴方向建立平面斜角坐标系,(ab对应x轴,ac对应y轴)设Xb=A,Yc=B,则有:三角形垂心H(cosθ(B-Acosθ)/sin²θ,cosθ(A-Bcosθ)/sin²θ)外心Q(A-Bcosθ/2sin²θ,B-Acosθ/2sin²θ)于是有向量QH=向量Qa+向量Qb+向量Qc(我才不会告诉你这是我证这个结论时作死不用垂心伴随外接圆模型得到的)

4.规定同3,重心G(⅓a,⅓b)

5.设直线的倾斜角为α,则k=sinα/sin(θ-α)

6.在斜坐标系内,若两直线垂直且斜率存在,则满足k1k2+cosθ(k1+k2)=-1

二.斜坐标系内一些运算公式

1.两点之间距离公式

首先,设向量AB=(a,b)将向量AB坐标转化为直角坐标系中坐标,则变成(a+bcosθ,bsinθ)对此应用直角坐标系中向量模长公式,则有|AB|=√a²+2abcosθ+b²(sin²θ+cos²θ)=√a²+b²+2abcosθ,这就是最终得到的距离公式了。

2.向量内积公式

同样的套路,只要将向量AB变换成(a+bcosθ,bsinθ),向量CD变换成(c+dcosθ,dsinθ)那么向量AB·向量CD=ac+bdcos²θ+ad cosθ+bc cosθ+bdsin²θ=(ac+bd)+cosθ(ad+bc),即为所求

3.点到直线距离公式

这个我不能无脑搞了,那样要算死人QAQ,请看图:

73a218642080e15132cd12f66df53bfe.png

我们设点P(Xo,Yo),直线lo:Ax+By+C=0,过p做lo的平行线l1,那么点p到lo的距离转化为l1与lo的距离。在l1与y轴交点处做lo的垂线。设角α,β,θ如图。

先求l1,lo与y轴交点间长度:将x=0代入,则有:

By1+C=0 ,y1=-C/B

By2+D=0 ,y2=-D/B

考虑到未知p的方位(可能在lo上方或下方),故线段l长度表示为|(C-D)/-B|,又因为有

AXo+BYo+D=0,则D=-AXo-BYo,所以l长度为|(Ax0+By0+C)/-B|

观察到我们所求的h=|l|·sinβ=|l|·sin(θ-α)=|l|·(sinθcosα-sinαcosθ)

我们单独研究α如图:

2907a33713453dbc242bb8c15acd1d27.png

取lo上一点c,设它与x轴交点为a,并作cd⊥x轴,cb∥y轴,并且令向量ab=(-B,0),向量bc=(0,A),于是向量bd=(cosθ·A,0)向量dc=(0,sinθ·A)那么在三角形acd中,可以解得ac=√(cos²θ+sin²θ)A²+B²-2ABcosθ=√A²+B²-2ABcosθ,

故:sinα=Asinθ/√A²+B²-2ABcosθ

cosα=Acosθ-B/√A²+B²-2ABcosθ

(正负性问题在此不做赘述了)

将得到的结果代入上式:

h=|(Ax0+By0+C)/-B|·[(Acosθ-B)sinθ-Asinθcosθ]/√A²+B²-2ABcosθ

=|(Ax0+By0+C)/-B|·(-Bsinθ)/√A²+B²-2ABcosθ,我们大胆地化简,消去-B

得到h=|(Ax0+By0+C)|·sinθ/√A²+B²-2ABcosθ,此时发现:

1.sinθ∈(0,1),即分式上方部分>0

2.A²+B²-2ABcosθ>0,即分式下方部分>0

这证明化简正确。

综上可得点到直线距离公式为:h=|(Ax0+By0+C)|·sinθ/√A²+B²-2ABcosθ

4.等和线

60ecbc522fcd9a6856428eb8dbfc8698.png

设|AB|=a,|AC|=b,P(ma,nb)

可解得lBC:y=-b/a·x+b,变形为x/a+y/b=1

∴ma/a+nb/b=1,即m+n=1,得证。同样易构“等差线”。

5.奔驰定理

a7abee55b3db8e03c6034f30057b06c3.png

设B(a,0)C(0,b)P(x,y)S△ABC=S,则:

SB=x/a ·S,向量BP=(x-a,y)

Sc=y/b ·S,向量CP=(x,y-b)

SA=(1-x/a-y/b)S,向量AP=(x,y)

∴向量AP·SA+向量BP·SB+向量CP·SC=((x-x²/a-xy/b+x²/a-x+xy/b)·S,(y-xy/a-y²/b+xy/a+y²/b-y)·S)=0向量,得证。

利用斜坐标系,我们也可以得到p在△ABC外的情况,过程类似不再赘述,结论是:在△ABP、△ACP、△BCP中,图形除了与AB边(或BC边、AC边)有交点外与三角形ABC再无交集的,在前面加上负号,则等式依然成立。

下面附一道例题:

7deb5bd579c0e4b96a6a51205b9df638.png

解:以AB为x轴,AD为y轴建立斜坐标系

则有C(2,4)B(5,0)D(0,4)lCB:y=-4/3x+20/3,即4x+3y-20=0

∴(2,4)·(-5,4)=0

∴-10+16-12cosθ=0,得θ=π/3

由极化恒等式,取AD中点F,则向量AE·向量DE=EF²-AF²

由点到直线距离公式得:EF²min=(7·根号3)²/(16+9-12)=147/13

∴(向量AE·向量DE)min=147/13 -4=95/13

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一行命令从 APK 文件中提取 Endpoint 及 URL

做IoT的人免不了要接触Android,接触Android的人又免不了要研究别人的App应用。 Diggy,一款能够从 apk 文件中提取 endpoint 及 URL 的工具,只要一行命令就可以帮大家提取出相关Android apk文件的安装信息和互联网访问信息。 下载地址&#xf…

antd 获取table选中行数据_element-ui 组件el-table默认选中行setCurrentRow采坑记

1.背景选中表格中某一行,高亮显示,table表格数据变化后(删除某几条数据,不包括选中的删除), this.$refs.multipleTable.setCurrentRow(row),选中之前选中的行,可发现总是选中下一条的数据&#…

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题 介绍问题解决方案总结 介绍 工具这里我就不多介绍了,如果有用到ProtoGen工具的可以继续看一下我后面的方法。 问题 如下图所示,我这里随便用了一个.proto文件,看下我这里面的repeated标记的…

贪吃蛇程序 php,微信小程序-贪吃蛇教程实例

很久很久以前,差不多大半年前吧,笔者发布了一篇关于OC版贪食蛇开发的文章,时隔多月,微信小程序横空出世,于是闲来无事的我又写了一个小程序版下面这段话请务必阅读笔者是做iOS的,而小程序大部分都是前端的知…

Tomcat启动时自动加载Servlet

转自:http://zhaoyongpan.blog.51cto.com/2714930/676239 想实现这样的功能: 1. Tomcat启动时随即启动Servlet; 2. Servlet启动时定时执行一个任务。 要点: 1、Tomcat中启动Servlet时,只需要在Servlet所在的工程的配置文件web…

internal java compiler error_Java异常处理总结

背景 最近专门负责团队的项目质量。我在治理异常日志过程中,总结了一下Java的异常处理。上面是我整理的最近自己比较常见的异常知识地图。异常知识地图概述 从异常知识地图最左边的根开始看,地图从左到右的连线连接的类之间有实实在在的父…

cuda nvcc版本不一致_windows 验证CUDA和CUDNN是否安装成功

安装完成CUDA,使用 nvcc -V 验证是否安装成功,看到如下信息说明安装成功接下来就可以安装 cuDNN 了。安装cuDNN下载 cuDNN,下载之前需要先注册一下 Nvidia 的账号,下载地址为:https://developer.nvidia.com/rdp/cudnn-…

Nova Cell

Nova Cell V2 详解 现在 ,OpenStack 在控制平面上的性能瓶颈主要在 Message Queue 和 Database 。 尤其是 Message Queue , 随着计算节点的增加 , 性能变的越来越差 。 为了应对这种情况 , Nova 很早之前提出来 nova-cell ( 以下以 cellv1 代…

Android 通过WIFI状态监听广播,判断进入指定wifi范围

原文地址:http://blog.csdn.net/kongxiuqi/article/details/52524500 --------------------------------------------- WIFI状态变化会发送广播,一些可用的广播在WifiManger.java中可以看到。 广播一:WIFI 状态开关变化的监听,en…

java 截取byte数组_2020年的秋招已经开始了!最新Java面试题大全(文末附参考答案)送给大家...

包含的模块本文分为十九个模块,分别是:Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM共包含 208 道面…

MVP模式在Android项目中的使用

烦了在Activity中编写太多的代码,该app由我来主导。就选择用MVP模式。 概述 MVP是模型(Model)、视图(View)、主持人(Presenter)的缩写,分别代表项目中3个不同的模块。 模型&#…

运行时错误7内存溢出_C++程序运行时的内存模型

C程序在运行时会将内存划分为4个区域:1代码区:存放函数体的二进制代码,由操作系统进行管理2全局区:存放程序的全局变量、静态变量、常量3栈区:由编译器进行自动分配和释放,存放函数的参数值,局部…

玩转Android之MVVM开发模式实战,炫酷的DataBinding!

原文:http://blog.csdn.net/u012702547/article/details/52077515 --------------------------------------------------------- MVP可以结合android的DataBinding -------------------------以下转载--------------- C# 很早就有了MVVM的开发模式,An…

打造一款便携版的Sublime Text

https://segmentfault.com/a/1190000000707661 https://www.cnblogs.com/52cik/p/sublime-diy.html 直接安装Sublime Text,不要打开 大家可以参照上文提到的《Sublime Text 全程指引》中的步骤去进行安装。我这里使用的是Sublime Text 2,其实3也是一样的…

confluence创建页面加载缓慢_树莓派4B使用docker安装confluence

说明confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki。通过它可以实现团队成员之间的协作和知识共享。现在大多数公司都会部署一套confluence,用作内部wiki。另外confluence也可以作为个人的知识管理工具来用,只需要花10…

matlab粒子加速器仿真,粒子群算法优化PID参数 仿真不出结果 程序如下

用的是《MATLAB智能算法30个案例分析》中的程序1.文件名为PSO_PID.mfunction z PSO_PID(x)assignin(base,Kp,x(1)); % 粒子群依次赋值给Kp 这部分运行结果> PSO_PIDassignin(base,Ki,x(2)); …

CentOS5、6的启动流程

CentOS5/6的启动流程启动流程画了张图,看着更清晰些: (centos7的启动流程变化挺大的,这部分待补充)补充(/etc/rc.d/rc.local 不属于任何服务,为特殊文件,可将不能定义为服务又想开机运行的命令定义在此文件中)添加自定义服务:[rootel5 init.d]# vi /etc/init.d/testsrv #!/bin…

Spark交互式分析平台Apache Zeppelin的安装

Zeppelin介绍 Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括Spark, Hive, tajo等,原生支持Scala, Java, shell, markdown等。它的整体展现和使用形式和Databricks Cloud是…

win7 php zend,win7系统打开WZend Studio PHP出错的解决方法

很多朋友安装win7系统后,在使用的过程中会遇到win7系统打开WZend Studio PHP出错的情况,可能有很多用户还是不能自己处理win7系统打开WZend Studio PHP出错的问题,其实简单的来说处理win7系统打开WZend Studio PHP出错的问题只需要按照 1、在…

9个元素换6次达到排序序列_C语言必学的12个排序算法:希尔排序(第3篇)

基本思想希尔排序(Shells Sort),以发明人命名,又称为缩小增量排序,也是一种插入排序算法。主要思想:直接插入排序算法时间和待排数据有关,其平均复杂度是O(n^2),但是在待排数据已经有…