回顾2D绘图的数学知识

本篇旨在帮助开发人员回顾在2D图形编程中可能会涉及到的数学知识。

1. 矩形

矩形面积 S = 长 ∗ 宽 S = 长 * 宽 S=长∗宽

矩形周长 C = 2 ∗ ( 长 + 宽 ) C = 2 * ( 长 + 宽) C=2∗(长+宽)

2. 两点间的距离

在直角坐标系中,设两个点A、B以及坐标分别为 A ( x 1 , y 1 ) A(x1,y1) A(x1,y1) 、 B ( x 2 , y 2 ) B(x2,y2) B(x2,y2) ,则A和B两点之间的距离为:

∣ A B ∣ = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \left | AB \right |=\sqrt{ {(x1-x2)}^2 + {(y1-y2)}^2 } ∣AB∣=(x1−x2)2+(y1−y2)2

3. 圆

通常使用 r r r表示圆的半径;

圆的面积 S = π r 2 S = {\pi}r^2 S=πr2

圆的周长 C = 2 π r C = 2{\pi}r C=2πr

当圆心坐标为(0,0)时,圆的方程式为:

x 2 + y 2 = r 2 x^2 + y^2 = r^2 x2+y2=r2,表示的曲线是以O(0,0)为圆心,以r为半径的圆。

当圆心坐标不为(0,0)时,圆的方程式为:

( x − a ) 2 + ( y − b ) 2 = r 2 (x - a)^2 + (y - b)^2 = r^2 (x−a)2+(y−b)2=r2 表示的曲线是以O(a,b)为圆心,以r为半径的圆。

4. 弧度与角度

弧度是基于圆的半径的纯计量单位,当角度以弧度给出时,通常不写弧度单位,或有时记为rad

弧度是指在一个圆中,弧长和半径之比,即: ∣ 弧度 ∣ = 弧长 ÷ 半径 \left | 弧度 \right |=弧长\div半径 ∣弧度∣=弧长÷半径。

我们知道,一个圆的周长为 2 π r 2{\pi}r 2πr,所以可得一个圆的弧度为 2 π r r = 2 π \frac{2{\pi}r}{r}=2\pi r2πr=2π

已知一个圆的角度是 36 0 ∘ 360^{\circ} 360∘,所以 36 0 ∘ = = 2 π 360^{\circ}==2{\pi} 360∘==2π

由此可知二者转换关系为:

1 ∘ = π 180 r a d 1^{\circ} =\frac{\pi}{180} rad 1∘=180πrad

1 r a d = ( 180 π ) ∘ 1 rad = (\frac{180}{\pi})^{\circ} 1rad=(π180)∘

5. 三角形

若三角形的三边分别为a,b,c,其中c为底边,高为h,三角分别为A( α \alpha α),B( β \beta β),C( γ \gamma γ),如下图所示,在△ABC中

面积 S = 1 2 c h S = \frac{1}{2} ch S=21ch

周长 C = a + b + c C = a + b + c C=a+b+c

三角形的三个角相加永远是 18 0 ∘ 180^{\circ} 180∘,即 α + β + γ = 18 0 ∘ \alpha+\beta+\gamma=180^{\circ} α+β+γ=180∘,因此等边三角形的每个角都是 6 0 ∘ 60^{\circ} 60∘

5.1 正弦/余弦/正切

正弦、余弦和正切是基于直角三角形而建立的。

sin ⁡ ( θ ) = 对边 斜边 \sin(\theta)=\frac{对边}{斜边} sin(θ)=斜边对边

cos ⁡ ( θ ) = 邻边 斜边 \cos(\theta)=\frac{邻边}{斜边} cos(θ)=斜边邻边

tan ⁡ ( θ ) = 对边 邻边 \tan(\theta)=\frac{对边}{邻边} tan(θ)=邻边对边

cot ⁡ ( θ ) = 邻边 对边 \cot(\theta)=\frac{邻边}{对边} cot(θ)=对边邻边

5.2 余弦定理

对于任意三角形,任何一边的平方等于其他两边平方的和减去这两边与它们夹角的余弦的积的两倍。

c 2 = a 2 + b 2 − 2 a b cos ⁡ γ c^2 = a^2 + b^2 - 2ab\cos\gamma c2=a2+b2−2abcosγ

5.3 勾股定理

直角三角形的两条直角边的长度的平方和等于斜边长的平方。

c 2 = a 2 + b 2 c^2=a^2+b^2 c2=a2+b2

已知 cos ⁡ ( 9 0 ∘ ) = 0 \cos(90^{\circ})=0 cos(90∘)=0,结合余弦定理,可以知道勾股定理是余弦定理的特定情况。

6. 正弦曲线

水平方向和垂直方向同时做正弦运动,就得到了圆周运动。

标准的正弦曲线函数是 y = sin ⁡ ( x ) y=\sin(x) y=sin(x) ,下图是一个标准的正弦曲线:

与正弦曲线相关的概念有:

6.1 周期

周期:从一个顶点到另一个顶点的距离,标准正弦曲线的周期是 2 π 2\pi 2π

6.2 振幅

振幅:从中线(X轴)到顶点的距离,如上图所示。

6.3 相移

相移:曲线的左右平移,如下图所示。

6.4 垂直位移

垂直位移:曲线的上下平移,如下图所示。

6.5 伸缩变换

下图分别绘制了 y = sin ⁡ ( x ) y=\sin(x) y=sin(x)、 y = sin ⁡ ( 1 2 x ) y=\sin(\frac{1}{2}x) y=sin(21x)、 y = sin ⁡ ( 2 x ) y=\sin(2x) y=sin(2x)的图像。

从上图可知, x x x 所乘以的系数对应曲线周期缩小的倍数。

6.6 平移变换

正弦曲线的平移变换遵循"左加右减,上加下减"的规则。

实例

下图展示了从 y = sin ⁡ ( 2 x ) y=\sin(2x) y=sin(2x) 变换到 y = sin ⁡ ( 2 x + π 3 ) − 1 y=\sin(2x+\frac{\pi}{3})-1 y=sin(2x+3π)−1 的过程。

6.7 综合变换

正弦曲线可表示为 y = A sin ⁡ ( ω x + φ ) + k y=A\sin({\omega}x+\varphi)+k y=Asin(ωx+φ)+k

下图演示了从 y = sin ⁡ ( x ) y=\sin(x) y=sin(x) 变换到 y = 2 sin ⁡ ( 2 x + π 4 ) + 1 y=2\sin(2x+\frac{\pi}{4})+1 y=2sin(2x+4π)+1 的过程。

7. 椭圆

椭圆(Ellipse)是平面内到定点F1、F2的距离之和等于常数(大于 ∣ F 1 F 2 ∣ |F1F2| ∣F1F2∣)的动点P的轨迹,F1、F2称为椭圆的两个焦点。

其数学表达式为:

∣ P F 1 ∣ + ∣ P F 2 ∣ = 2 a |PF1|+|PF2|=2a ∣PF1∣+∣PF2∣=2a

两焦点F1、F2的距离 ∣ F 1 F 2 ∣ = 2 c |F1F2| = 2c ∣F1F2∣=2c

7.1 椭圆方程式

我们始终用 a a a表示长半轴,用 b b b表示短半轴,即上图的焦点在X轴时, a a a位于X轴,若焦点在Y轴则 a a a位于Y轴。

当两个焦点在X轴时,标准方程为: x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 a2x2+b2y2=1

当两个焦点在Y轴时,标准方程为: y 2 a 2 + x 2 b 2 = 1 \frac{y^2}{a^2} + \frac{x^2}{b^2} = 1 a2y2+b2x2=1

7.2 椭圆面积

椭圆面积 S = π a b S = \pi ab S=πab

7.3 相关公式

b 2 = a 2 − c 2 b^2 = a^2 - c^2 b2=a2−c2

证明如下:

由两点间的距离公式可得:

∣ P F 1 ∣ = ( x + c ) 2 + y 2 |PF1| = \sqrt{(x+c)^2+y^2} ∣PF1∣=(x+c)2+y2

∣ P F 2 ∣ = ( x − c ) 2 + y 2 |PF2| = \sqrt{(x-c)^2+y^2} ∣PF2∣=(x−c)2+y2

又因为 ∣ P F 1 ∣ + ∣ P F 2 ∣ = 2 a |PF1|+|PF2|=2a ∣PF1∣+∣PF2∣=2a,即:

( x + c ) 2 + y 2 + ( x − c ) 2 + y 2 = 2 a \sqrt{(x+c)^2+y^2}+\sqrt{(x-c)^2+y^2}=2a (x+c)2+y2 +(x−c)2+y2 =2a

表达式化简后:

( x + c ) 2 + y 2 = 2 a − ( x − c ) 2 + y 2 \sqrt{(x+c)^2+y^2}=2a-\sqrt{(x-c)^2+y^2} (x+c)2+y2 =2a−(x−c)2+y2

( x + c ) 2 + y 2 = ( 2 a − ( x − c ) 2 + y 2 ) 2 (x+c)^2+y^2=(2a-\sqrt{(x-c)^2+y^2})^2 (x+c)2+y2=(2a−(x−c)2+y2 )2

继续展开和化简,最终可得:

x 2 a 2 + y 2 a 2 − c 2 = 1 \frac{x^2}{a^2} + \frac{y^2}{a^2-c^2}=1 a2x2+a2−c2y2=1

参考椭圆的公式可得:

b 2 = a 2 − c 2 b^2 = a^2 - c^2 b2=a2−c2

7.4 椭圆上任意角度点的坐标

上图焦点位于X轴,由椭圆方程式可得:

x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2}+\frac{y^2}{b^2}=1 a2x2+b2y2=1

由正切函数可得: y = x tan ⁡ ( θ ) y=x\tan(\theta) y=xtan(θ)

将 y y y 代入上面表达式可得:

x 2 a 2 + ( x tan ⁡ ( θ ) ) 2 b 2 = 1 \frac{x^2}{a^2}+\frac{(x\tan(\theta))^2}{b^2}=1 a2x2+b2(xtan(θ))2=1

最终求得:

x 2 = a 2 b 2 b 2 + a 2 ( tan ⁡ θ ) 2 x^2=\frac{a^2b^2}{b^2+a^2(\tan\theta)^2} x2=b2+a2(tanθ)2a2b2

x x x 可以为正/负值,需要根据角度决定正负。


本文最初发布在我的个人站点,也将优先更新在个人站点上。

https://jiangxueqiao.com

相关推荐
AI完全体2 天前
【AI知识点】二项分布(Binomial Distribution)
人工智能·机器学习·数学建模·概率论·统计学·伯努利试验·离散概率分布
jiannywang2 天前
车间调度问题数学建模与CPLEX优化
数学建模
羊小猪~~4 天前
数学建模--什么是数学建模?数学建模应该怎么准备?
算法·数学建模·分类·回归
EQUINOX14 天前
思维+贪心,CF 1210B - Marcin and Training Camp
算法·数学建模·动态规划
TuringSnowy5 天前
Maximum_Likelihood
笔记·数学建模·概率论
zhoujian121387 天前
数学建模研赛总结
数学建模
鹿鹿数模8 天前
2024年中国研究生数学建模竞赛B题 (WLAN组网吞吐量机理建模+GBDT+LSTM 进阶建模文章)
人工智能·数学建模·lstm
周末不下雨10 天前
2024年研究生数学建模“华为杯”E题——肘部法则、k-means聚类、目标检测(python)、ARIMA、逻辑回归、混淆矩阵(附:目标检测代码)
数学建模·华为·kmeans
小魏冬琅11 天前
MATLAB 在数学建模中的深入应用:从基础到高级实践
数学建模
鹿鹿数模12 天前
2024全国研究生数学建模竞赛(数学建模研赛)ABCDEF题深度建模+全解全析+完整文章
数学建模