Python各类图形绘制—turtle与Matplotlib-3、射线

 Python各类图形绘制—turtle与Matplotlib-3、射线

目录

 Python各类图形绘制—turtle与Matplotlib-3、射线

前言

开发环境

turtle_demo

Matplotlib_demo

射线在数学中的用处

几何图形的构成

表示方向

数学证明

实际应用模型


前言

既然是学习数学,肯定会离不开各种图形,之前的文章中很多我都尽可能的不使用图来表示了,但是觉得不好,毕竟数学离开了图就会很抽象,所以我们这里单独的学习一下Python的各类图形绘制,包含绘制切线什么的,这样在数学学习的图像处理上就会好很多。

编号 中文名称 英文名称 图形说明
1 Point 几何中最基本元素,无大小、长度、宽度、高度,仅表示位置,二维平面用坐标 (x, y) 确定位置
2 线段 Line Segment 直线上两点间的有限部分,有两个端点,可确定长度,由两端点坐标确定位置和长度
3 射线 Ray 由线段一端无限延长形成,有一个端点,另一端无限延伸,不可测量长度
4 直线 Line 没有端点,可向两端无限延伸,不可度量长度,平面直角坐标系中可用线性方程表示
5 Angle 由两条有公共端点的射线组成,公共端点是顶点,两条射线是边,用度数衡量大小
6 三角形 Triangle 同一平面内不在同一直线上的三条线段首尾顺次连接组成的封闭图形。按边分有等边(三边相等)、等腰(至少两边相等)、不等边三角形;按角分有锐角(三角皆锐角)、直角(一角为直角)、钝角(一角为钝角)三角形
7 四边形 Quadrilateral 由不在同一直线上的四条线段依次首尾相接围成的封闭的平面图形或立体图形。常见的有平行四边形(两组对边分别平行)、矩形(四个角为直角的平行四边形)、菱形(四条边相等的平行四边形)、正方形(四个角为直角且四条边相等的平行四边形)、梯形(一组对边平行,另一组对边不平行)等
8 五边形 Pentagon 由五条线段首尾相连组成的封闭图形,内角和为 540 度,正五边形五条边相等,五个角也相等
9 六边形 Hexagon 由六条线段首尾相连围成的封闭图形,内角和为 720 度,正六边形六条边相等,六个内角也相等,每个内角为 120 度
10 圆形 Circle 平面上到定点的距离等于定长的所有点组成的图形,定点称为圆心,定长称为半径。圆是轴对称图形,也是中心对称图形
11 椭圆 Ellipse 平面内到两个定点的距离之和等于常数(大于两定点间距离)的点的轨迹,这两个定点叫做椭圆的焦点,两焦点间的距离叫做焦距
12 扇形 Sector 一条圆弧和经过这条圆弧两端的两条半径所围成的图形,扇形面积与圆心角(顶角)、圆半径相关
13 弓形 Segment of a circle 由弦及其所对的弧组成的图形,可分为劣弧弓形(小于半圆)和优弧弓形(大于半圆)

开发环境

系统:win11
开发语言:Python
使用工具:Jupyter Notebook
使用库:turtle与Matplotlib 

turtle_demo

这里绘制了8个方向的射线,在运行绘制的时候你会看到效果,射线是无限延伸的,这里只做个示例。

import turtle

# 创建一个Turtle对象
pen = turtle.Turtle()

# 设置画笔的速度
pen.speed(1)

# 设置画笔的颜色
pen.color("black")

# 抬起画笔,移动到原点
pen.penup()
pen.goto(0, 0)

# 放下画笔,开始绘制
pen.pendown()

# 绘制八条射线,每条射线之间的角度间隔为45度
for angle in range(0, 360, 45):
    pen.setheading(angle)
    pen.forward(200)
    pen.penup()
    pen.goto(0, 0)
    pen.pendown()

# 隐藏画笔
pen.hideturtle()

# 保持窗口打开
turtle.done()

效果示例图:

Matplotlib_demo

这里依然是射线的八个方向。

import matplotlib.pyplot as plt
import numpy as np

# 创建一个图形和坐标轴
fig, ax = plt.subplots()

# 设置坐标轴的范围
ax.set_xlim([-2, 2])
ax.set_ylim([-2, 2])

# 设置坐标轴的标签
ax.set_xlabel('X')
ax.set_ylabel('Y')

# 设置坐标轴的刻度
ax.set_xticks(np.arange(-2, 2.5, 0.5))
ax.set_yticks(np.arange(-2, 2.5, 0.5))

# 绘制八个方向的射线
for angle in range(0, 360, 45):
    # 将角度转换为弧度
    angle_rad = np.radians(angle)
    
    # 计算射线的终点坐标
    x = np.cos(angle_rad)
    y = np.sin(angle_rad)
    
    # 绘制射线
    ax.quiver(0, 0, x, y, angles='xy', scale_units='xy', scale=1, color='black')

# 显示图形
plt.show()

效果示例:

射线在数学中的用处

几何图形的构成

  • 构成角:从一个点出发的两条射线可以组成角,这个点称为角的顶点,两条射线称为角的边。角是几何中重要的研究对象,在三角函数、平面几何等多个领域都有广泛应用。比如在三角形中,角的大小和关系决定了三角形的形状和性质。
  • 构成多边形:在多边形的定义和研究中,射线也起着关键作用。从多边形的一个顶点出发的射线可以将多边形分割成多个三角形,通过这种方式可以研究多边形的内角和、外角和等性质。例如,从一个 n 边形的一个顶点出发,可以引出 (n – 3) 条射线,将 n 边形分成 (n – 2) 个三角形,从而得出 n 边形内角和为 (n – 2)×180° 的结论。
  • 表示方向

  • 方向向量:在空间几何和向量运算中,射线可以用来表示方向向量。向量是既有大小又有方向的量,而射线恰好可以直观地展示向量的方向。例如在三维空间中,一条射线可以表示一个力的方向或者物体运动的方向等,通过对射线方向的分析,可以计算力的合成与分解、物体的运动轨迹等问题。
  • 极坐标:在极坐标系中,射线从极点出发,用于确定点的位置。极坐标方程常常用来描述一些具有对称性或周期性的曲线,如阿基米德螺线、心形线等。通过射线的角度和长度来确定点的位置,为解决一些复杂的几何问题和物理问题提供了一种简洁的方法。
  • 数学证明

  • 反证法中的辅助线:在证明一些几何定理或命题时,常常需要添加辅助线,射线就是一种常用的辅助线形式。比如在证明 “三角形内角和为 180°” 时,可以通过过三角形的一个顶点作一条平行于对边的射线,利用平行线的性质来证明。
  • 轨迹问题:在研究点的轨迹问题时,射线可以帮助确定点的运动范围和轨迹形状。例如,到一个定点的距离等于定长的点的轨迹是圆,而从这个定点出发的射线可以用来研究圆上点的分布规律以及与其他图形的位置关系等。
  • 实际应用模型

  • 光线模型:在物理学中,光线是射线的一种实际应用模型。光线可以看作是从光源出发,沿直线传播的射线。通过对光线的反射、折射等现象的研究,可以解释很多光学现象,如平面镜成像、透镜成像等。
  • 运动轨迹模型:在描述物体的运动轨迹时,射线可以用来表示物体的运动方向和可能的运动路径。比如在抛体运动中,从抛出点出发的射线可以表示物体在某一时刻的运动方向,通过对射线的分析可以计算物体的射程、高度等物理量。
  • 作者:Math_teacher_fan

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python各类图形绘制—turtle与Matplotlib-3、射线

    发表回复