简介:面向机械工程专业本科生、考研学生以及机械设计入门者,这份哈工大机械原理精品课程PPT教案,以76页完整课件系统讲解了机构运动分析与力学计算的核心知识点,尤其适合配合课堂同步复习或考前提纲式回顾。资源包内含1个pptx文件,总大小约2.84MB,内容以规范公式、机构简图和分步推导为主,重点覆盖连杆机构的特点、平面四杆机构的基本类型(如曲柄摇杆、双曲柄、双摇杆、曲柄滑块)及其演化方法,并详细推导了铰链四杆机构有曲柄的条件,通过改变运动副类型、调整杆长比例、更换机架等思路展现机构设计的灵活性与工程应用价值。课件中的机构运动简图与公式推导可直接截图做笔记,便于整理出属于自己的复习提纲。目前已有119人学习下载,是系统掌握机械原理核心概念、攻克曲柄四杆机构难点及备考高校专业课的实用资料。
1. 这份“机械原理哈工大精品课程PPT教案.pptx”,到底该怎么用
单看文件名,它是一份典型的大学精品课程课件:机械原理、哈工大、PPT教案三个词叠在一起,大概率是机构学与机器动力学那套经典内容——四杆机构、凸轮、齿轮、轮系、自由度计算。但对做技术的人(尤其是做机械结构设计、非标自动化、甚至机器人运动学的人)来说,它的价值远不止“上课用的幻灯片”。真正的问题是:你拿到这份 PPT 之后,是把它当成 PDF 从头翻到尾,还是把它拆成可检索、可复用、可二次开发的教学素材库?
我倾向于后者。原因很简单:机械原理这门课的知识结构 40 年没大变,但承载它的工具变了。现在做机械设计的人,手边大概率有 SolidWorks、Python、甚至 GPT-4 级别的文档解析工具。一份哈工大级别的精品课件,真正的资产不是那几张机构简图,而是它的体系——从自由度计算到机构综合,每一章都是可以映射成参数表、公式脚本和仿真模型的“知识点节点”。本文就从怎么拆解、怎么提取、怎么把 PPT 里的静图变成可交互的教学/设计资源来讲。先立住一个观点:这类课件最好的使用方式不是“读”,而是“拆”。
2. 先搞清楚 PPT 里装的是哪套机械原理体系
2.1 哈工大机械原理课程的知识骨架,和普通教材差在哪
国内机械原理课程的主流教材,郑文纬、孙桓、申永胜三套流传最广。哈工大的机械原理课程体系,偏向孙桓《机械原理》第八版的路子,但在机构分析和综合的深度上更强调“图解法和解析法的对照”。具体来说,一份标着“哈工大精品课程”的 PPT 教案,通常覆盖下面这几个模块:
| 模块 | 核心内容 | 常见课时 |
|---|---|---|
| 平面机构结构分析 | 自由度计算、高副低代、杆组拆分 | 6-8 |
| 平面机构运动分析 | 速度瞬心法、矢量方程图解法、解析法 | 8-10 |
| 平面机构力分析 | 静定条件、构件惯性力、动态静力分析 | 6-8 |
| 机械动力学 | 等效动力学模型、飞轮调速、周期性速度波动 | 6-8 |
| 连杆机构 | 四杆机构基本型式、急回特性、传力特性、综合 | 10-12 |
| 凸轮机构 | 从动件运动规律、凸轮轮廓设计(图解法+解析法) | 8-10 |
| 齿轮机构 | 渐开线原理、啮合传动、变位齿轮、轮系传动比 | 14-16 |
这和一个普通 MOOC 课件的差别在于:每页 PPT 的密度很高,公式推导过程是一步一步放出来的,很多页面上还带着教师批注和动画触发器。如果你只是翻页看,信息量其实不大;但如果你把它当“结构化文档”处理——每页对应一个知识点,每个知识点对应一组公式和参数——它就能变成一份可检索的工程手册。
2.2 拿到 PPT 后第一件事:不要打开,先做结构嗅探
很多人拿到 PPT 的第一反应是双击打开,然后从头翻到尾——这是效率最低的做法。PPT 是二进制打包的 XML 文档集合,用工具先把章节结构、页面数量和母版信息拉出来,比你肉眼翻 300 页快得多。我一般会用 Python 的python-pptx库做一次“结构嗅探”,代码很简单:
from pptx import Presentation from pptx.util import Emu prs = Presentation("机械原理哈工大精品课程PPT教案.pptx") # 输出每页的文本量和标题,快速定位章节页 for idx, slide in enumerate(prs.slides, start=1): texts = [] for shape in slide.shapes: if shape.has_text_frame: for para in shape.text_frame.paragraphs: t = "".join(run.text for run in para.runs).strip() if t: texts.append(t) # 只打印前 3 个文本块,通常是标题 + 副标题 + 第一行正文 preview = " | ".join(texts[:3])[:100] print(f"Page {idx:3d}: {preview}")这段代码的作用是建立“页码到内容”的索引。slide.shapes遍历页面上所有形状,has_text_frame过滤出文本载体,paragraphs里再取 runs 拼接文本。为什么要用runs而不是直接paragraph.text?因为 PPT 里一个段落可能拆成多个 run,每个 run 带独立字体格式,直接取 paragraph 的 text 在某些版本里会丢字符。
跑完这个脚本,你会得到一份“哪几页是章节封面、哪几页是公式推导、哪几页是例题”的清单。比如正常来说,第 1 页是课程名,第 5-8 页是自由度计算的引入,后面跟着 20 多页的例题和习题。有了这个地图,你才知道哪些页值得精读、哪些页可以直接跳过。
3. 用 python-pptx 把 PPT 教案拆成可检索的知识点卡片
3.1 提取文本、公式和图片:一次完整的页面解析循环
结构嗅探只解决了“哪页有什么”的问题,接下来要解决“这页的内容怎么变成可复用的素材”。机械原理的 PPT 页面内容分三类:文本(概念定义)、公式(通常是图片或 OMML 公式)、机构简图(矢量或位图)。三类内容的提取路径完全不同,下面是一次完整的页面解析循环:
from pptx import Presentation from pptx.enum.shapes import MSO_SHAPE_TYPE import os prs = Presentation("机械原理哈工大精品课程PPT教案.pptx") output_dir = "extracted" os.makedirs(output_dir, exist_ok=True) for idx, slide in enumerate(prs.slides, start=1): page_data = { "page": idx, "texts": [], "images": [], "tables": [] } for shape in slide.shapes: # 文本形状 if shape.has_text_frame: text = shape.text_frame.text.strip() if text: page_data["texts"].append(text) # 表格形状 if shape.has_table: rows = [] for row in shape.table.rows: cells = [cell.text.strip() for cell in row.cells] rows.append(cells) page_data["tables"].append(rows) # 图片形状(含剪贴画和嵌入图) if shape.shape_type == MSO_SHAPE_TYPE.PICTURE: image = shape.image ext = image.ext fname = f"page{idx:03d}_img{len(page_data['images'])}.{ext}" with open(os.path.join(output_dir, fname), "wb") as f: f.write(image.blob) page_data["images"].append(fname) # 组合形状需要递归 if shape.shape_type == MSO_SHAPE_TYPE.GROUP: _walk_group(shape, idx, page_data, output_dir) # 每页存一个文本文件 with open(os.path.join(output_dir, f"page{idx:03d}.txt"), "w", encoding="utf-8") as f: f.write("\n".join(page_data["texts"]))这里有一个关键参数细节:slide.shapes默认只遍历顶层形状,如果 PPT 里用了组合(Group),图片和文本框会被嵌套在组合内部,必须递归处理。上面的_walk_group函数就是干这个的——递归遍历组合里的每一个子形状,把图片和文本分别归位。我在处理大量课件 PPT 时发现,哈工大体系的课件特别喜欢用组合,尤其是机构运动简图,一个连杆机构图可能是由十几个 shape 拼起来的,不递归就什么都提不出来。
3.2 公式识别:OMML 转 LaTeX 的实用路径
机械原理 PPT 里的公式,有三种存在形式:OMML(Office Math Markup Language,原生公式)、图片(从公式编辑器截图或 MathType 嵌入)、文本伪公式(比如用上下标拼出来的i12=n1/n2)。三种形式的处理手段完全不一样:
| 公式形式 | 检测方法 | 处理方案 |
|---|---|---|
| OMML | 检查 XML 里的<m:oMath>节点 | 用 pandoc 或 mammoth 转 LaTeX |
| 嵌入图片 | 图片内容为公式截图 | 用 Mathpix 或 LaTeX-OCR 识别 |
| 文本伪公式 | 文本含^、_、=且短 | 正则清洗后人工校对 |
OMML 是最好处理的,因为它本质是 XML,转 LaTeX 有成熟工具链。最常见的做法是先把 PPTX 解压,把ppt/slides/slideN.xml里的 OMML 节点单独抽出来,然后用pandoc转成 LaTeX:
# 解压 pptx(本质是 zip) unzip "机械原理哈工大精品课程PPT教案.pptx" -d pptx_extracted/ # 假设 slide7.xml 里有公式,用 pandoc 转 latex pandoc pptx_extracted/ppt/slides/slide7.xml -f docbook -t latex -o slide7.tex注意:pandoc不能直接吃slideN.xml,需要手动把<m:oMath>节点包成一个完整的word/document.xml结构,或者用python-docx中转。这里给一个更省事的做法——先用mammoth库把整个 PPTX 转成 HTML,公式会被渲染成 MathML 或图片,再统一处理:
mammoth "机械原理哈工大精品课程PPT教案.pptx" output.htmlmammoth的输出里,OMML 公式会变成<math>标签,然后用mathml2latex或latexml做二次转换。这个过程不是 100% 无损,希腊字母和根号偶尔会丢格式,但 80% 的公式能直接转出来,剩下的靠人工修。
3.3 把页面内容重组成 Markdown 知识库
文本、公式、图片都提取完之后,下一步是把它们组织成按知识点分块的 Markdown 文档,而不是“一页一个 md”。这里的关键是“合并规则”:连读 3 页都在讲同一个概念,就合并成一个知识块;出现章标题页就新建一个知识块;例题页单独标记。
我的做法是写一个“缝合器”:
import re from pathlib import Path pages = sorted(Path(output_dir).glob("page*.txt")) knowledge_blocks = [] current_block = None for page_file in pages: text = page_file.read_text(encoding="utf-8").strip() if not text: continue # 检测章标题:哈工大课件通常用“第X章”或“§X.X”作为标题页标记 is_chapter_start = bool(re.match(r"^(第[一二三四五六七八九十\d]+章|§?\d+\.\d+)", text)) if is_chapter_start: if current_block: knowledge_blocks.append(current_block) current_block = {"title": text.split("\n")[0], "content": []} else: if current_block is None: current_block = {"title": "未分类", "content": []} current_block["content"].append(f"[Page {page_file.stem}]\n{text}") # 输出 Markdown with open("knowledge_base.md", "w", encoding="utf-8") as f: for block in knowledge_blocks: f.write(f"## {block['title']}\n\n") f.write("\n\n".join(block["content"])) f.write("\n\n---\n\n")这段代码里最值得说的是is_chapter_start的正则:哈工大体系的课件惯用“第X章”作为节标题,但有些版本会用“Chapter X”或“§1.1”的编号方式,正则里的^锚定很重要——标题行一定在文本块的开头,不会出现在中间。
4. 把静图变成动态仿真:从机构简图到可交互的模拟脚本
4.1 识别 PPT 里的机构简图,绑定运动学模型
PPT 里的机构简图本质上是“某一时刻的位形快照”。四杆机构的 PPT 配图,通常画的是曲柄在某一个转角下的位置;凸轮那段会画好几张不同转角的轮廓叠加图。如果你想真正理解这些机构的运动特性,应该把这些静图变成运动学仿真——用 Python 的numpy加matplotlib就能做到。
以四杆机构为例,PPT 里给的通常是杆长参数(曲柄 a、连杆 b、摇杆 c、机架 d)和一个特定的装配位置。要做仿真,第一步是从文本或图片标注里抽参数。如果 PPT 里有参数表,提取出来的文本正好能结构化:
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation # 四杆机构参数:曲柄 a,连杆 b,摇杆 c,机架 d(单位 mm) a, b, c, d = 100, 250, 200, 300 def fourbar_positions(theta2): """给定曲柄转角,用闭环矢量方程解 B、C 点位置""" # 矢量方程: a*e^{i*theta2} + b*e^{i*theta3} = d + c*e^{i*theta4} # 这里用数值法解 theta4,避免推导解析式 A = 2 * a * d * np.cos(theta2) - 2 * c * d B = 2 * a * d * np.sin(theta2) C = a**2 + d**2 + c**2 - b**2 - 2 * a * d * np.cos(theta2) # 摇杆转角 theta4 的两个可能解(开式/闭式装配) theta4_1 = 2 * np.arctan2(-B + np.sqrt(A**2 + B**2 - C**2), C - A) theta4_2 = 2 * np.arctan2(-B - np.sqrt(A**2 + B**2 - C**2), C - A) # 选择与初始位形连贯的解(通常选第一个,需加连续性判断) theta4 = theta4_1 # B 点(曲柄与连杆连接点) Bx = a * np.cos(theta2) By = a * np.sin(theta2) # C 点(摇杆与机架连接点) Cx = d + c * np.cos(theta4) Cy = c * np.sin(theta4) return Bx, By, Cx, Cy, theta4这里没有用解析式直接解theta3和theta4,而是用矢量方程加数值开方——原因是闭合四杆机构的解有装配模式分支,解析表达式稍不注意就选到错误的那个解。用arctan2解角度比arccos稳定,能自动区分四个象限。实际跑的时候你可能会遇到 C 点跳变,那是机构运动到了奇异位形(B、C、D 三点共线),这时候需要加一个“角度连续性”判断,比较当前解和上一帧的解,选差值最小的那个。
4.2 从“看图”到“调参”:用滑块交互验证 PPT 里的结论
静图变动态只是第一步,更有价值的做法是加交互。PPT 里讲急回特性时会告诉你“行程速比系数 K = (180° + θ)/(180° - θ)”,但你只有拖一下曲柄才知道 θ 到底怎么影响 K。用matplotlib.widgets.Slider可以做一个五分钟就能写出来的交互器:
from matplotlib.widgets import Slider theta2 = 0.0 fig, ax = plt.subplots(figsize=(8, 6)) plt.subplots_adjust(bottom=0.2) # 画机构的初始位形 line_AB, = ax.plot([], [], 'o-', lw=2, label='曲柄AB') line_BC, = ax.plot([], [], 'o-', lw=2, label='连杆BC') line_CD, = ax.plot([], [], 'o-', lw=2, label='摇杆CD') def update(val): global theta2 theta2 = np.radians(slider.val) Bx, By, Cx, Cy, theta4 = fourbar_positions(theta2) line_AB.set_data([0, Bx], [0, By]) line_BC.set_data([Bx, Cx], [By, Cy]) line_CD.set_data([d, Cx], [0, Cy]) ax.set_title(f"theta2={np.degrees(theta2):.1f}°, theta4={np.degrees(theta4):.1f}°") fig.canvas.draw_idle() ax_slider = plt.axes([0.2, 0.05, 0.6, 0.03]) slider = Slider(ax_slider, '曲柄转角', 0, 360, valinit=0, valstep=0.5) slider.on_changed(update) plt.legend() plt.axis('equal') plt.show()注意valstep=0.5这个参数:单位是度,不是弧度,而且步长设成 0.5 是为了让动画在接近奇异位形时不会因为跳帧而错过突变。实际用的时候你会发现,曲柄匀速转,摇杆角速度并非匀速——这就是 PPT 里“急回特性”的直观体现。把滑块拖到曲柄和连杆拉成一条直线的位置,fourbar_positions里的A**2 + B**2 - C**2会变成负数,这是机构进入了不可装配位形,对应 PPT 里说的“死点”。
4.3 凸轮轮廓的 PPT 图 vs. 解析生成的轮廓对比
凸轮那段 PPT 通常有“反转法”绘图的步骤图:基圆、偏距圆、推程运动角、回程运动角,一张一张叠加。PPT 里画的是结果,但如果你想验证自己会不会画,最好直接用解析表达式生成一次轮廓。等速运动规律的推程位移公式是s = h * delta / delta0,代入反转法公式:
# 凸轮轮廓生成:对心直动滚子从动件,等速运动规律 import numpy as np import matplotlib.pyplot as plt h = 40 # 升程 mm r0 = 50 # 基圆半径 mm delta0 = np.radians(120) # 推程运动角 delta1 = np.radians(60) # 远休止角 delta2 = np.radians(120) # 回程运动角 delta3 = np.radians(60) # 近休止角 def follower_displacement(delta): # 按运动角分段计算位移 s if 0 <= delta < delta0: return h * delta / delta0 elif delta0 <= delta < delta0 + delta1: return h elif delta0 + delta1 <= delta < delta0 + delta1 + delta2: # 回程等速 return h * (1 - (delta - delta0 - delta1) / delta2) else: return 0 # 理论轮廓(反转法):x = (r0 + s) * sin(delta), y = (r0 + s) * cos(delta) deltas = np.linspace(0, 2*np.pi, 720) x_theory = [(r0 + follower_displacement(d)) * np.sin(d) for d in deltas] y_theory = [(r0 + follower_displacement(d)) * np.cos(d) for d in deltas] plt.plot(x_theory, y_theory, label='理论轮廓') plt.plot([0], [0], 'ko', label='凸轮回转中心') plt.axis('equal') plt.legend() plt.show()这个脚本里最容易出错的地方是分段函数的边界:delta0取 120° 时,np.linspace生成的采样点不会恰好落在 120° 上,所以轮廓在推程和回程的交接处会有微小的折角——放大看是阶梯状的。解决办法是把分段点显式插入采样数组:deltas = np.unique(np.concatenate([np.linspace(0, 2*np.pi, 720), [delta0, delta0+delta1, delta0+delta1+delta2]]))。这是用 PPT 静图对照解析生成时最容易暴露的坑,课件里看不出来,一画图就露馅。
5. 把整份 PPT 转成可离线访问的 HTML 课件,保留动画和层级
5.1 用 LibreOffice 做无头转换,批量生成 HTML+资源目录
如果诉求不是“拆解”而是“原样浏览”,最常见且可靠的做法是用 LibreOffice 的无头模式做 HTML 导出。这个方案的好处是彻底绕开 PowerPoint 的许可问题(有些机器没装 Office),而且soffice命令行在 Linux、Windows、macOS 上行为一致:
soffice --headless --convert-to html --outdir ./html_output "机械原理哈工大精品课程PPT教案.pptx"这句话背后的机制说一下:--convert-to html在 LibreOffice 内部走的是“先加载 PPTX 到 Impress、再导出 HTML 过滤器”的路径,输出的不是单个 HTML 文件,而是一个同名 HTML 加一个_html_images文件夹(如果 PPT 里有图片)。跑完后要注意检查两件事:
一是中文文件名是否被转义。LibreOffice 的 HTML 导出默认用 UTF-8,但旧版本会把文件名转成%E6%9C%BA%E6%A2%B0%E5%8E%9F%E7%90%86这种百分号编码,浏览器能解析但同事的 Windows 文件夹里看着像乱码。稳妥做法是导出前把文件名改成纯英文,或者导出后写脚本批量重命名。
二是动画效果会丢失。LibreOffice 的 HTML 导出对 PPT 里自定义动画的兼容性较差,如果原课件大量使用了“逐条显示公式”“点击出现答案”这类触发器,导出的 HTML 会变成全部内容一次性铺开。解决方案是退而求其次,导出 PDF 保证视觉保真,HTML 只做快速预览。
5.2 用 reveal.js 手动重建体系更可控的课件框架
对于想“二次开课”的工程师或教师,与其依赖自动转换,不如用 reveal.js 把提取出来的文本、公式、图片重新编排成 Web 课件。这听起来工作量大,但因为有第 3 节的提取结果打底,实际上只是套模板的事。一个最小可用的 slide 结构:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>自由度计算 - 哈工大机械原理精品课</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js/dist/reveal.css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js/dist/theme/white.css"> <script src="https://cdn.jsdelivr.net/npm/reveal.js/dist/reveal.js"></script> <script src="https://cdn.jsdelivr.net/npm/reveal.js/plugin/math/math.js"></script> </head> <body> <div class="reveal"> <div class="slides"> <section> <h3>平面机构自由度计算</h3> <p>F = 3n - 2P<sub>L</sub> - P<sub>H</sub></p> </section> <section> <h3>例题:铰链四杆机构</h3> <p>n = 3, P<sub>L</sub> = 4, P<sub>H</sub> = 0</p> <p>F = 3×3 - 2×4 - 0 = 1</p> </section> </div> </div> <script> Reveal.initialize({ plugins: [RevealMath.KaTeX] }); </script> </body> </html>这里引入RevealMath.KaTeX插件是为了渲染 LaTeX 公式——第 3 节从 PPT 里提取的 OMML 转出的 LaTeX 可以直接塞进$...$或$$...$$里。一个实操里的参数细节:Reveal.initialize里建议加上hash: true,这样每一页都有独立的 URL 锚点,方便在内部知识库里做页级引用——对应机械原理的教学常有“翻到讲自由度那页”这种需求。
5.3 检查导出的课件里公式没有变成“鬼画符”
无论是用soffice --convert-to html还是用 reveal.js 手搓,公式是重灾区。LibreOffice 导出的 HTML 会直接把公式渲染成图片(GIF 或 PNG),而图片在缩放时发虚;手动重建则经常遇到“LaTeX 编译不过、公式显示成红字报错”。所以最后一层要用latex语法检查器过一遍:
# 用 pandoc 转 PDF 作为公式语法验证(不要求版式,只验证编译不报错) pandoc knowledge_base.md -o /dev/null --pdf-engine=xelatex 2>&1 | head -50如果报错信息里出现Undefined control sequence,说明提取出来的 LaTeX 里有 PPT 特殊符号(比如\angle、\measuredangle)没被正确转义,直接替换掉就行。如果报Missing $ inserted,说明有裸文本混进了数学环境,需要检查 Markdown 里的$配对是否完整。养成这个检查习惯,要比把 300 页 PPT 全部人工校对来得靠谱得多。
6. 用 Anki 把 PPT 里的知识点变成可复习的问答卡组
课件拆完了、网页课件也搭起来了,但还有一个常被忽略的用法:把这份 PPT 里的题型、公式和易错概念,做成一整套 Anki 问答卡。机械原理这门课的特点是“公式多、图多、结论多”,特别适合间隔重复记忆。一个典型的卡片生成循环如下:
import re from pathlib import Path import csv # 读取第 3 节生成的 knowledge_base.md content = Path("knowledge_base.md").read_text(encoding="utf-8") # 找到“自由度计算”附近的所有“F = ”开头的公式行 formulas = re.findall(r"F\s*=\s*3n\s*-\s*2P[_\w]*\s*-\s*P[_\w]*", content) # 找例题题面(以“例”开头的行) examples = [line for line in content.split("\n") if re.match(r"^\s*(例|例题)", line)] # 生成 Anki 导入用 csv:第一列问题,第二列答案 with open("anki_cards.csv", "w", encoding="utf-8", newline="") as f: writer = csv.writer(f) writer.writerow(["问题", "答案"]) for ex in examples[:20]: writer.writerow([ex, "见 PPT 解析(页码见原文)"])这里有一个提取技巧值得展开:正则r"F\s*=\s*3n\s*-\s*2P[_\w]*\s*-\s*P[_\w]*"匹配的是“F = 3n - 2P_L - P_H”这种标准写法。但如果 PPT 里的公式是图片(第 3 节提过),文本层里根本不存在这个字符串,正则就会漏掉。所以更稳的做法是先把第 3 节的图片识别结果(OCR 文本)也拼进content,再跑正则。识别公式图片的推荐方案是pix2tex(LaTeX-OCR),命令行用法:
# 单张公式图片转 LaTeX pix2tex page023_img0.pngpix2tex对小字号、低分辨率的公式截图识别率尚可,但对带有上下标嵌套的多行公式容易出错。如果识别结果里出现大段\begin{aligned},建议人工核对一下,因为 PPT 里的多行推导经常是“逐行动画”出现的,整张截图反而会混入多帧内容。
Anki 卡的另一个来源是“结论类文本”。PPT 里经常有“当极位夹角 θ = 0 时,机构无急回特性”“基圆半径 r0 增大,压力角减小”这类短句。从 Markdown 中按分隔符(句号、分号)切成短句,再用关键词过滤(包含“当”“则”“必须”“等于”),就能自动生成概念判断题。卡片题的密度控制在每章 30-50 张,覆盖“公式识记、图像判断、结论辨析”三种题型,一次把 PPT 的价值榨干。
最后说一个具体技巧:Anki 的导入格式第一行是字段名,text;answer分号分隔只是默认约定,实际导入时建议在 Anki 里先建好Basic笔记类型,字段设为“问题”“答案”,再用 CSV 导入并指定分隔符为逗号。这样能保证 300 张卡片一次性正确入组,不会出现“问题答案挤在同一行”的情况。
本文还有配套的精品资源,点击获取