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,一经查实,立即删除!

相关文章

php 字节转为kb,PHP获取文件大小并转化为KB、MB、GB单位

PHP获取文件大小并转化为KB、MB、GB单位。function getSize($filesize) {if ($filesize > 1073741824) {$filesize round($filesize / 1073741824 * 100) / 100 . GB;} elseif ($filesize > 1048576) {$filesize round($filesize / 1048576 * 100) / 100 . MB;} else…

python 重定向stdout_Python 犄角旮旯--重定向 stdout

What?在 Python 程序中,使用 print 输出调试信息的做法非常常见,但有的时候我们需要将 print 的内容改写到其他位置,比如一个文件中,便于随时排查。但是又不希望大面积替换 print 函数,这就需要一些技巧实现…

Jetty实战之 安装 运行 部署

原文地址:http://blog.csdn.net/kongxx/article/details/7218767 1. 首先从Jetty的官方网站http://wiki.eclipse.org/Jetty/Starting/Downloads下载最新的Jetty,上面有两个版本7.x和8.x,7.x是运行在JDK5及以上版本,8.x是运行在JD…

一行命令从 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的,而小程序大部分都是前端的知…

python遥感数据有偿处理_利用python读写tiff遥感影像数据

from osgeo import gdal# 读图像文件def read_img(filename):dataset gdal.Open(filename) # 打开文件im_width dataset.RasterXSize # 栅格矩阵的列数im_height dataset.RasterYSize # 栅格矩阵的行数im_geotrans dataset.GetGeoTransform() # 仿射矩阵im_proj dataset.G…

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的异常处理。上面是我整理的最近自己比较常见的异常知识地图。异常知识地图概述 从异常知识地图最左边的根开始看,地图从左到右的连线连接的类之间有实实在在的父…

java异步刷新集合,同步和异步集合的性能测试,异步集合性能测试,package cn.o

同步和异步集合的性能测试,异步集合性能测试,package cn.opackage cn.outofmemory.snippets.core;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Vector;import java.util.concurrent.TimeUnit;public class Co…

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…

2018年度最佳网页设计与开发教程

任何一个网站从开发到最终上线, 都是需要团队协作且谨慎的一个过程,而实际中往往会遇到各类问题,所以网页设计师通常需要扮演多种角色,除了掌握必备的网页设计技能外,更应该对后期的开发流程及内容有所了解&#xff0c…

mysql_ping()函数的作用以及返回值的类型正确的是,[单选] mysql_ping()函数的作用以及返回值的类型正确的是:()...

[单选] mysql_ping()函数的作用以及返回值的类型正确的是:()更多相关问题中华田园犬,雄性,2岁,昨晚外出未归,今晨发现患犬精神沉郁,呼吸急促,体温39℃,左胸侧壁中下部有创1884年新疆…

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栈区:由编译器进行自动分配和释放,存放函数的参数值,局部…

php strip_tags 少,详解PHP函数 strip_tags的用法不足之处

这篇文章主要介绍了详解PHP函数 strip_tags 处理字符串缺陷bug的相关资料,需要的朋友可以参考下详解PHP函数 strip_tags 处理字符串缺陷bugPHP 函数 strip_tags() 是一个常用函数,该函数可以剥去字符串中的 HTML、XML 以及 PHP 的标签。极大方便了对字符串的操作&am…