【AI物理题库】利用大模型仿制题目撰写相似的题目并画图

在日常教学和考试命题中,物理图像的制作往往是一项耗时且繁琐的工作。特别是在电子文档中,教师很难高效、精准地绘制出规范、清晰的图示。

本篇博客提供了一套基于 Python 的自动化绘图解决方案,涵盖从基础坐标图到复杂电路图与3D结构图的多种案例,旨在让物理教师、教辅编写人员、教学内容创作者能 一键生成标准物理图 ,大大提升效率与专业度。

AI物理题库例题图

这7类绘图样例覆盖了高中物理教学中最常见的图像类型:从基础的运动图、结构示意图,到复杂的3D模型、电路图、实验轨迹图,几乎涵盖了所有题型中对图示的需求。借助 Python 的 matplotlibnumpyschemdraw 等模块,可以实现快速、精确、规范的自动化制图,不仅提升命题与教学效率,也为教学数字化、图像标准化提供了强有力的工具支持。

序号 图示名称 功能用途 使用模块 适用题型场景
1 位移/速度-时间图像 展示物体运动状态(匀速/加速等) matplotlib, numpy 选择题、实验题、运动分析
2 对称双摆示意图 展示对称摆结构、简谐运动结构 matplotlib, numpy 实验装置结构图、受力分析
3 电磁感应原理图(2D/3D) 表达发电原理,磁感线结构关系 matplotlib, mpl_toolkits.mplot3d 原理图、实验解释、探究题
4 速度空间轨迹图 表示速度在二维平面上的变化轨迹 matplotlib, numpy 速度合成、抛体分析、图像题
5 夹角结构图 展示向量夹角、对称轴等角度关系 matplotlib, numpy 向量分析、图像判读题
6 电路结构图(简易) 快速生成标准电路连接示意 schemdraw, matplotlib 电学实验、电路分析、电源电压测量
7 抛体运动轨迹图 小球水平抛出、轨迹预测结构 matplotlib, numpy 实验还原题、物理过程分析题

基于考试管理系统可以通过API生成对应的题目,但是这4个选项图就不太好操作了,对于普通教师来说这种画图虽然可以在纸上手画,但是如果在电子文档里就有点难度了,所以这个选项的图可以通过py 的脚本来实现。

样例1:常见运动图像(位移-时间、速度-时间)

用于选择题、实验题等分析运动特性问题。
在这里插入图片描述

效果图
在这里插入图片描述

代码示例

import matplotlib.pyplot as plt
import numpy as np
import random
from matplotlib import rcParams

# 设置中文字体显示(推荐使用微软雅黑)
rcParams['font.sans-serif'] = ['Microsoft YaHei']
rcParams['axes.unicode_minus'] = False

# 定义绘图函数
def draw_all_motion_graphs():
    t = np.linspace(0, 10, 100)

    motion_settings = [
        ("x-t", "匀速直线运动", lambda t: 2 * t + random.uniform(-1, 1)),
        ("x-t", "匀加速直线运动", lambda t: 0.5 * 1.2 * t ** 2),
        ("v-t", "静止不动", lambda t: np.zeros_like(t)),
        ("v-t", "反向减速运动", lambda t: -1.5 * t + 10)
    ]

    fig, axes = plt.subplots(2, 2, figsize=(12, 8))
    axes = axes.flatten()

    for i, (option_type, motion_desc, func) in enumerate(motion_settings):
        ax = axes[i]
        x = func(t)
        ax.plot(t, x, linewidth=2)
        ax.set_xlabel("时间 t (s)", fontsize=12)
        ax.set_ylabel("位移 x (m)" if option_type == "x-t" else "速度 v (m/s)", fontsize=12)
        ax.set_title(f"{
     chr(65 + i)} 选项:{
     option_type} 图像 - {
     motion_desc}", fontsize=13)
        ax.grid(True)

    plt.tight_layout()
    plt.show()

# 执行绘图
draw_all_motion_graphs()

样例2:对称摆系统图

适用于力学对称性分析、周期性实验装置示意图。
在这里插入图片描述
效果图
在这里插入图片描述

代码示例

import matplotlib.pyplot as plt

def draw_symmetric_pendulum():
    fig, ax = plt.subplots(figsize=(5, 6))

    # 固定点 O
    ox, oy = 0, 5
    ax.plot(ox, oy, 'ko')  # 黑点表示挂点

    # 两个摆球的位置(左右对称)
    L = 4
    angle = 30  # 左右偏离角度(单位:度)

    import numpy as np
    theta = np.radians(angle)
    px, py = L * np.sin(theta), oy - L * np.cos(theta)
    qx, qy = -px, py

    # 绘制悬线
    ax.plot([ox, px], [oy, py], 'k', lw=2)
    ax.plot([ox, qx], [oy, qy], 'k', lw=2)

    # 绘制摆球
    ax.plot(px, py, 'o', color='brown', markersize=12)
    ax.plot(qx, qy, 'o', color='gray', markersize=12)

    # 标注点 P Q O
    ax.text(px + 0.2, py, 'P', fontsize=12)
    ax.text(qx - 0.4, qy, 'Q', fontsize=12)
    ax.text(ox + 0.1, oy + 0.1, 'O', fontsize=12)

    # 添加虚线对称轴
    ax.plot([0, 0], [oy - 4.5, oy], 'b--', alpha=0.4)

    # 可选:添加水平参考线
    ax.plot([-3, 3], [py + 0.5, py + 0.5], 'k', alpha=0.3)
    ax.plot([-3, 3], [py - 0.5, py - 0.5], 'k', alpha=0.3)

    ax.set_xlim(-3, 3)
    ax.set_ylim(0, 6)
    ax.set_aspect('equal')
    ax.axis('off')
    plt.title("对称双摆模型示意图", fontsize=14)
    plt.show()

# 调用函数绘图
draw_symmetric_pendulum()

样例3:电磁感应结构图(2D+3D对比)

用于解释发电原理、磁场-导体运动、电路连接等概念。

在这里插入图片描述

效果图

这种3D转换成平面效果一般。
在这里插入图片描述
来个3D效果的。
在这里插入图片描述
代码示例

2D实现代码

import matplotlib.pyplot as plt
import matplotlib.patches as patches
import numpy as np

# 中文字体设置(自动兼容 Windows、macOS、Linux)
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 或 Microsoft YaHei / PingFang SC / Noto Sans CJK SC
matplotlib.rcParams['axes.unicode_minus'] = False

def draw_induction_diagram():
    fig, ax = plt.subplots(figsize=(10, 6))

    # === 1. 磁体 ===
    n_block = patches.Rectangle((-3, 1), 1, 3, color='red')
    s_block = patches.Rectangle((2, 1), 1, 3, color='steelblue')
    ax.add_patch(n_block)
    ax.add_patch(s_block)
    ax.text(-2.5, 3.5, "N", fontsize=16, color='white', weight='bold', ha='center')
    ax.text(2.5, 3.5, "S", fontsize=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr数据杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值