平面直角坐标系中的旋转公式_定比分点公式及定理

摘要:在本文中,我们将探讨一下线段定比分点的性质。

我们来回顾一下定比分点的概念。

ea97c73db480222e51f6ecd037b2f7c5.png

如上图所示,线段AB上有一点P分线段AB的比为

,即

在平面直角坐标系中,已知A、B两点的坐标分为

,P点坐标为
,且
,那么我们就说P分有向线段
的比为
,则有:

,这就是
定比分点坐标公式

当P为内分点时,

;当P为外分点时,
;当P与A重合时,
;当P与B重合时,
不存在。

推导过程在任何的高中课本里都有,我们就不再推导了。

我们设过P点的一条直线方程为

,由于点
在直线上,代入直线方程中便有:

从中可以解出:

这便是另一个定比分点公式,我们称为直线分线段比公式

用这个公式来证明平面几何中的梅涅劳斯定理将会非常简单。

d8598b15357102f23a481faa6a98747e.png

如上图所示,P、R、Q三点共线,我们设三角形三个顶点的坐标分别为:

,直线PQ的方程为
,利用直线分线段比例定理分别对三角形ABC的三边使用,则有:

P分

的比为:

Q分

的比为:

R分

的比为:

所以:

如果不考虑正负号,则结果为1,这就是通常表述上的梅涅劳斯定理。

我们再来看下面的平面几何图形:

a0ef639249bca77f4dca7e5ca4735cdd.png

如上图所示,点T是线段PQ上的一点,

,需要说明的是,线段PQ和线段AB不能相交,则有:

证明:设四边形ABPQ的面积为S,于是:

(利用同高的三角形面积比等于底边的比)

证毕。

我们称之为定比分点面积公式

在定比分点的公式里,需要说明的是,如果我们令

,那么则有
,于是定比分点面积公式可以写成:
,同理可以重写定比分点坐标公式。

最后再说一个结论,

b8aae07a7d3be91c09d9bab43eb6d9bb.png

如上图所示梯形ABCD,

,则有:

当E、F两点是AD、BC的中点时,EF叫做梯形的中位线。类似的结论还有很多,读者可自行挖掘证明。

分离轴定理(Separating Axis Theorem,简称SAT)是一种用于判断两个凸多边形是否相交的方法。对于矩阵来说,我们通常将其视为由多个构成的集合,但是在这里我们可以假设矩阵是凸多边形的简略说法,即矩阵的边界可以构成一个凸多边形。 在MATLAB中,使用分离轴定理来判断两个凸多边形(在这里指代矩阵的边界)是否相交,可以按照以下步骤进行: 1. 确两个矩阵的顶坐标。通常情况下,矩阵的四个角和中心的位置可以确其在平面直角坐标系中的位置和角度。 2. 通过矩阵的位置和角度,将每个矩阵的顶坐标转换到以自身中心为原的新坐标系中。 3. 对每个矩阵,计算其所有边的法线向量。由于是矩阵,我们可以简化计算,只需要考虑与中心相连的边的法线即可。 4. 对于一个矩阵,将边的法线向量通过旋转和平移变换到另一个矩阵的坐标系中。 5. 对于每一个分离轴(即前一步得到的法线向量),投影两个矩阵的顶到该轴上,计算投影的最小值和最大值。 6. 如果存在某个轴,使得两个矩阵在该轴上的投影区间不重叠(即一个矩阵的最小值大于另一个矩阵的最大值),则两个矩阵不相交。 7. 如果所有的轴上两个矩阵的投影区间都重叠,则两个矩阵相交。 在MATLAB中,你可以编写一个函数来实现上述过程。下面是一个简化版的MATLAB代码示例,用于说明基本概念: ```matlab function [intersect] = checkIntersection(matrix1, matrix2) % 假设matrix1和matrix2是4x2的矩阵,存储了顶坐标 % 这里不考虑矩阵的旋转和平移,仅作为示例 % 获取两个矩阵的顶数 num_vertices1 = size(matrix1, 1); num_vertices2 = size(matrix2, 1); % 生成分离轴的法线向量 axes = [1, 0; 0, 1]; % 仅考虑x和y轴作为示例 % 检查每个轴上的投影区间 for i = 1:size(axes, 1) axis = axes(i, :); proj1 = projectVertices(matrix1, axis); proj2 = projectVertices(matrix2, axis); % 检查投影区间是否重叠 if max(proj1) < min(proj2) || max(proj2) < min(proj1) intersect = false; return; end end % 如果所有轴都检查完毕,矩阵相交 intersect = true; end function proj = projectVertices(vertices, axis) % 计算顶在给轴上的投影 axis_normalized = axis / norm(axis); proj = sum(vertices .* axis_normalized, 2); end ``` 请注意,上述代码是一个非常简化的示例,它只考虑了x轴和y轴作为分离轴。在实际应用中,你需要考虑由矩阵的每条边生成的所有法线向量,并对矩阵进行适当的旋转和平移,以将它们转换到同一个坐标系中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值