当前位置: 首页 > article >正文

别再手动排版了!用LaTeX + TikZ 5分钟搞定高中数学试卷里的立体几何图

用LaTeXTikZ高效绘制数学试卷中的立体几何图形数学试卷排版一直是教师们的痛点尤其是立体几何图形的绘制。传统方法要么依赖专业绘图软件导出图片插入要么直接在Word中用绘图工具勉强拼凑不仅效率低下修改起来更是噩梦。其实LaTeX的TikZ宏包能完美解决这个问题——代码化绘图意味着图形可以像公式一样被精确控制、随时调整还能与文档风格完美统一。我最初接触TikZ时也被它的学习曲线吓到但掌握核心技巧后绘制一个标准四棱锥只需5分钟。更重要的是这些代码片段可以重复使用下次只需修改几个参数就能生成新的几何图形。下面就以高中数学试卷中最常见的四棱锥为例拆解整个绘制过程。1. 环境配置与基础准备在开始绘图前需要确保LaTeX环境已安装必要的宏包。推荐使用TeX Live或MiKTeX发行版它们已包含大多数常用工具。在文档导言区添加以下代码\usepackage{tikz} % 核心绘图包 \usepackage{tikz-3dplot} % 三维坐标系支持 \usetikzlibrary{3d} % 启用三维绘图功能TikZ的三维绘图本质是在二维平面上模拟三维效果因此需要定义观察角度。tdplotsetmaincoords命令设置视角参数\tdplotsetmaincoords{60}{110} % 俯仰角60度方位角110度这两个角度值决定了图形的立体感俯仰角第一个参数0度表示俯视90度表示平视方位角第二个参数0度表示正视角90度表示侧视角提示初学者可以先用\tdplotsetmaincoords{70}{120}这类常规角度待熟悉后再尝试特殊视角。2. 四棱锥的完整绘制流程2.1 定义顶点坐标任何立体图形都由顶点和边构成。我们先定义一个底面为矩形的正四棱锥需要确定5个关键点的三维坐标\begin{tikzpicture}[scale1.5, tdplot_main_coords] % 定义坐标点 \coordinate (A) at (0,0,0); % 底面左下角 \coordinate (B) at (2,0,0); % 底面右下角 \coordinate (D) at (0,4,0); % 底面左上角 \coordinate (C) at (2,4,0); % 底面右上角 \coordinate (P) at (0,0,2); % 顶点这里我们创建了一个底面长4单位、宽2单位高2单位的四棱锥。坐标定义遵循右手坐标系规则x轴水平向右y轴垂直向内z轴垂直向上2.2 绘制边线与隐藏线在立体几何中被遮挡的边线需要用虚线表示。TikZ中用dashed参数控制% 绘制底面实线 \draw[thick] (A) -- (B) -- (C) -- (D) -- cycle; % 绘制侧棱 \draw[thick] (P) -- (A); \draw[thick] (P) -- (B); \draw[thick] (P) -- (C); \draw[dashed] (P) -- (D); % 被遮挡的边用虚线关键技巧边的绘制顺序影响遮挡关系通常先画可见边再画隐藏边thick参数加粗线条使其在试卷中更清晰循环闭合图形用cycle命令自动连接首尾2.3 添加标签与中点标记为方便说明我们需要为各个顶点添加标签。同时演示如何标记棱的中点% 标记中点MPD的中点 \coordinate (M) at (0,2,1); % (x1x2)/2, (y1y2)/2, (z1z2)/2 \filldraw (M) circle (1.5pt) node[above left] {M}; % 添加顶点标签 \node[below] at (A) {A}; \node[below] at (B) {B}; \node[right] at (C) {C}; \node[above] at (D) {D}; \node[left] at (P) {P};标签定位技巧below/above等参数控制标签相对于点的位置使用circle命令绘制实心点标记特殊位置节点文本可以用node命令添加支持LaTeX数学公式3. 参数化调整与样式定制3.1 快速修改图形尺寸TikZ绘图的优势在于参数化。要改变图形大小只需调整坐标值% 更大的四棱锥示例 \coordinate (A) at (0,0,0); \coordinate (B) at (3,0,0); % 底面宽度改为3 \coordinate (D) at (0,5,0); % 底面长度改为5 \coordinate (C) at (3,5,0); \coordinate (P) at (0,0,4); % 高度改为4常见调整场景试卷空间有限时缩小图形整体缩放scale值强调高度时增加z坐标值需要俯视图时调整tdplotsetmaincoords角度3.2 视觉样式深度定制TikZ允许对图形各部件进行精细控制% 高级样式设置示例 \draw[thick, red] (A) -- (B); % 红色实线 \draw[dashed, blue, thick] (P) -- (D); % 蓝色虚线 \fill[green!30, opacity0.5] (A) -- (B) -- (C) -- (D) -- cycle; % 半透明绿色填充底面可用样式选项属性可选值效果颜色red, blue等或RGB值改变线条/填充色线型solid, dashed, dotted定义线条样式宽度thin, thick, ultra thick控制线条粗细透明度opacity0.5设置半透明效果填充fillcolor给闭合区域上色4. 扩展应用常见几何体代码模板掌握四棱锥后其他几何体都是类似的逻辑。以下是几种高中阶段常用图形的绘制方法。4.1 正方体与长方体长方体只需定义8个顶点并正确连接% 长方体绘制示例 \coordinate (A) at (0,0,0); \coordinate (B) at (2,0,0); \coordinate (C) at (2,3,0); \coordinate (D) at (0,3,0); \coordinate (E) at (0,0,1); \coordinate (F) at (2,0,1); \coordinate (G) at (2,3,1); \coordinate (H) at (0,3,1); % 绘制可见边 \draw[thick] (A) -- (B) -- (C) -- (D) -- cycle; \draw[thick] (E) -- (F) -- (G) -- (H) -- cycle; \draw[thick] (A) -- (E); \draw[thick] (B) -- (F); \draw[thick] (C) -- (G); % 绘制隐藏边 \draw[dashed] (D) -- (H);4.2 圆柱体与圆锥旋转体需要借助TikZ的曲线绘制功能% 圆锥绘制示例 % 底面圆 \draw[thick] (0,0,0) circle [x radius1.5, y radius0.7]; % 侧面母线 \draw[thick] (1.5,0,0) -- (0,0,3); \draw[thick] (-1.5,0,0) -- (0,0,3); % 隐藏部分椭圆弧 \draw[dashed] (0,0,0) ellipse [x radius1.5, y radius0.7];4.3 组合体与截面图高考常考的截面问题也能用TikZ呈现% 正方体截面示例 % 绘制正方体代码略 % 添加截面平面 \filldraw[red, opacity0.3] (0,0,1) -- (2,0,1) -- (2,2,0) -- cycle; \draw[red, thick] (0,0,1) -- (2,0,1) -- (2,2,0) -- cycle;5. 实战技巧与问题排查5.1 提高绘图效率的秘诀代码复用将常用图形保存为.tex文件通过\input命令调用参数宏定义使用\newcommand定义变量如\newcommand{\pyramidHeight}{2}循环绘制对重复结构使用\foreach命令% 使用循环绘制棱锥侧棱 \foreach \point in {A,B,C,D} { \draw[thick] (P) -- (\point); }5.2 常见问题解决方案问题现象可能原因解决方法图形显示不全坐标超出画布调整scale值或修改坐标范围立体感不足视角参数不当调整tdplotsetmaincoords角度标签位置错误节点定位不准使用above,left等参数微调虚线显示为实线线型冲突确保dashed在最后绘制5.3 与其他LaTeX元素的完美配合TikZ图形可以与公式、文本流畅结合\begin{itemize} \item 体积公式$V \frac{1}{3}Sh$ \item 如图\ref{fig:pyramid}所示... \end{itemize} \begin{figure}[htbp] \centering \begin{tikzpicture}[tdplot_main_coords] % 图形代码 \end{tikzpicture} \caption{四棱锥示意图} \label{fig:pyramid} \end{figure}将TikZ代码放入figure环境后就能像普通图片一样添加标题、标签和交叉引用。

相关文章:

别再手动排版了!用LaTeX + TikZ 5分钟搞定高中数学试卷里的立体几何图

用LaTeXTikZ高效绘制数学试卷中的立体几何图形 数学试卷排版一直是教师们的痛点,尤其是立体几何图形的绘制。传统方法要么依赖专业绘图软件导出图片插入,要么直接在Word中用绘图工具勉强拼凑,不仅效率低下,修改起来更是噩梦。其实…...

智能化运维实战:信息化系统自动化巡检与故障自愈方案

1. 为什么需要自动化巡检与故障自愈? 想象一下,你负责维护一个大型电商平台的后台系统。凌晨3点突然收到告警短信:数据库CPU使用率飙升到98%。这时候你需要立刻起床,手忙脚乱地登录服务器检查日志、分析原因、尝试重启服务...这样…...

cronos:嵌入式C++17零依赖chrono时间抽象库

1. 项目概述cronos是一个轻量级、零依赖的 C17 头文件库,其核心目标是为嵌入式系统提供std::chrono兼容的、与硬件原生滴答计数器(native tick counter)无缝对接的时间抽象层。它并非实现一个独立的定时器驱动,而是作为“适配器”…...

知识蒸馏(Knowledge Distillation)完全指南:原理、实践与进阶

一句话概括:知识蒸馏是一种模型压缩技术,它让一个轻量级的“学生模型”模仿一个高性能的“教师模型”的输出行为,从而在保持小体积、低延迟的同时,获得接近大模型的能力。一、为什么需要知识蒸馏?—— 大模型的“奢侈”…...

猫抓插件:突破网页资源限制的媒体捕获解决方案

猫抓插件:突破网页资源限制的媒体捕获解决方案 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在数字内容爆炸的时代,我们每天浏览的网页中蕴含着丰富的视频、音频和图片资源。…...

保姆级教程:在Ubuntu 16.04虚拟机上,一步步编译SSD202开发板的完整镜像(含kernel 4.9.84和buildroot 2020.05)

SSD202开发板镜像编译实战:从虚拟机配置到完整系统构建 1. 环境准备与工具链配置 在Ubuntu 16.04虚拟机上搭建嵌入式开发环境,首先要解决的是64位系统对32位工具链的兼容性问题。许多开发者在这一步就会遇到第一个"坑"——缺少必要的32位库文件…...

从零理解自然数系统:用Python类模拟皮亚诺公理(含加法乘法实现)

从零构建自然数系统:用Python类实现皮亚诺公理与算术运算 在计算机科学中,自然数系统的构建是一个令人着迷的基础课题。当我们抛开编程语言内置的数字类型,仅用最基本的类和递归概念来重新定义自然数时,会惊讶地发现数学的抽象之美…...

基于滑膜控制扰动观测器的永磁同步电机PMSM模型:四种控制策略大比拼

(67)基于滑膜控制扰动观测器的永磁同步电机PMSM模型 四个控制对比: 1、PID控制器 2、传统滑模控制器 3、最优滑模控制器 4、改进补偿滑膜控制器 [1]附带简单讲解视频 如下图 [2]附带出图四个控制对比的说明文档在永磁同步电机(PM…...

DriveVLA-W0:世界模型在自动驾驶中放大数据规模定律【在动作信号的基础上增加视觉自监督信号可增强VLA效果(扩散世界模型、自回归世界模型效果都不错,图4显示扩散策略稍好一些)】

第001/22页(英文原文) DRIVEVLA-W0: WORLD MODELS AMPLIFY DATA SCALING LAW IN AUTONOMOUS DRIVING Yingyan Li1∗ Shuyao Shang1∗ Weisong Liu1∗ Bing Zhan1∗ Haochen Wang1∗ Yuqi Wang1 Yuntao Chen1 Xiaoman Wang2 Yasong An2 Chufeng Tang2 Lu Hou2 Lue Fan1B Zh…...

sxiahdainacinwjcnisd

一、OpenAI 1.OpenAI是什么简单来说,OpenAI 大模型 是由美国人工智能公司 OpenAI 开发的一系列大型语言模型(LLMs) 。你可以把它们想象成拥有巨大“知识储备”和“学习能力”的超级大脑,它们被训练用来理解和生成人类语言&#xf…...

Windows美化从任务栏开始:TranslucentTB自定义方案从入门到精通

Windows美化从任务栏开始:TranslucentTB自定义方案从入门到精通 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 当你厌倦了Wi…...

利用爱毕业aibiye等智能软件,论文写作与编程工作流程得到革新,AI为学术研究提供新思路

文章总结表格(工具排名对比) 工具名称 核心优势 aibiye 精准降AIGC率检测,适配知网/维普等平台 aicheck 专注文本AI痕迹识别,优化人类表达风格 askpaper 快速降AI痕迹,保留学术规范 秒篇 高效处理混AIGC内容&…...

不用第三方工具!用Altium Designer 24原生功能实现Allegro到PADS的PCB文件转换

解锁Altium Designer 24原生转换能力:Allegro到PADS的PCB文件高效迁移指南 在硬件开发领域,跨EDA平台协作已成为常态。当设计团队使用不同工具链时,文件格式转换往往成为效率瓶颈。传统方案依赖第三方转换工具,不仅增加成本&#…...

从OpenJDK到GraalVM:JDK21安装后,你还可以试试这些高性能Java运行时

从OpenJDK到GraalVM:JDK21安装后,你还可以试试这些高性能Java运行时 当你完成JDK21的基础安装后,Java生态的探索才刚刚开始。现代Java开发早已不再局限于传统JVM,越来越多的创新运行时正在重塑性能边界。本文将带你深入GraalVM、L…...

ESP8266轻量协程调度器:零栈LeanTask与确定性多任务设计

1. 项目概述ESP8266Scheduler 是一个专为 ESP8266 平台设计的协作式多任务调度器(Co-operative Multitasking Scheduler),其核心目标是在资源受限的 Wi-Fi SoC 上实现轻量、确定、可预测的任务并发执行模型,同时避免传统抢占式 RT…...

Splitting.js创意指南:让网页文字动起来的实用技巧

Splitting.js创意指南:让网页文字动起来的实用技巧 【免费下载链接】Splitting JavaScript microlibrary to split an element by words, characters, children and more, populated with CSS variables! 项目地址: https://gitcode.com/gh_mirrors/sp/Splitting …...

203 异构车辆队列分布式 MPC 优化控制约束复现之旅

203 异构车辆队列分布式 MPC 优化控制约束 复现的代码 .m 文件在自动驾驶和智能交通领域,异构车辆队列的分布式模型预测控制(MPC)是个热门话题。今天就来聊聊基于复现代码(.m文件)对203异构车辆队列分布式MPC优化控制约…...

探索液晶仿真负折射的奇妙世界

液晶仿真负折射在光学和材料科学领域,负折射现象一直是一个令人着迷的研究方向。而通过液晶来进行负折射的仿真,更是为这个领域带来了新的活力和可能性。 什么是负折射 通常情况下,当光线从一种介质进入另一种介质时,遵循斯涅尔定…...

嵌入式系统模块化设计:内聚与耦合实战指南

1. 嵌入式模块设计的核心原则在嵌入式系统开发中,模块化设计质量直接影响着整个系统的生命周期成本。我经历过多个嵌入式项目后发现,那些后期维护成本高昂的系统,往往都存在模块边界模糊、依赖混乱的问题。模块化不是简单的代码分割&#xff…...

Polars 2.0清洗卡顿?,一文讲透Arrow IPC缓存、predicate pushdown与schema inference协同配置逻辑

第一章:Polars 2.0清洗卡顿现象的根因诊断Polars 2.0 在大规模数据清洗场景中偶发的卡顿并非源于计算能力不足,而是由内存管理策略变更与惰性执行链中隐式物化点触发不当共同导致。核心问题集中在 lazy() 查询计划在遭遇特定 I/O 模式或类型推断失败时&a…...

从模板到成品:5分钟搞定Java动态填充Word合同(基于Apache POI和DOCX模板)

从模板到成品:5分钟搞定Java动态填充Word合同(基于Apache POI和DOCX模板) 每次手动调整Word格式就像在玩“大家来找茬”——明明只是改个客户名称,整个文档排版却突然崩坏。去年我们团队处理了超过2000份合同,直到发现…...

十字头零件的机械加工工艺规程及工装夹具设计 (论文+CAD图纸+任务书+过程卡+工序卡+外文翻译+参考文献……)

十字头零件作为机械传动系统中的关键构件,其加工精度直接影响设备运行的稳定性与寿命。制定科学合理的机械加工工艺规程及配套工装夹具设计方案,是确保零件质量、提升加工效率的核心环节。工艺规程需系统规划从毛坯准备到成品检验的全流程,涵…...

硬件工程师成长指南:从理论到实战的完整路径

1. 硬件工程师的成长路线:从理论到实践的完整规划作为一名从业十年的硬件工程师,我见过太多新人一上来就埋头焊板子、调电路,结果浪费大量时间在低水平重复。硬件设计就像下围棋,没有全局思维的人永远只能当个业余爱好者。今天我想…...

动态链接库emp.dll详解:从原理到实战修复

动态链接库emp.dll深度解析:技术原理与高效修复指南 引言:动态链接库的现代价值 在Windows系统的软件生态中,动态链接库(DLL)如同建筑中的预制构件,通过代码复用机制显著提升了开发效率和系统资源利用率。emp.dll作为其中一员&…...

Python程序员转战Mojo的最后1公里:自动转换工具mojoify上线首周已修复89%语法迁移阻塞点(限时开源)

第一章:Mojo与Python混合编程全景概览Mojo 是一种为 AI 系统量身打造的现代系统编程语言,兼具 Python 的易用性与 C/Rust 的执行效率。它原生兼容 Python 生态,允许开发者在同一个项目中无缝调用 Python 模块、复用 NumPy/Torch 接口&#xf…...

超越简单拼接:如何用SuperFusion的语义约束,让你的图像融合结果直接服务于目标检测与分割?

超越简单拼接:语义约束如何重塑图像融合的下游任务价值 当红外与可见光图像在自动驾驶感知系统中相遇时,工程师们往往面临一个两难选择:追求视觉上自然的融合效果,还是确保关键目标特征能被检测算法准确识别?传统融合方…...

SOONet模型Python从入门到集成:环境配置与核心调用

SOONet模型Python从入门到集成:环境配置与核心调用 如果你刚接触AI模型,想用Python把SOONet这样的模型跑起来,可能会觉得有点无从下手。环境怎么配?依赖库怎么装?模型文件放哪里?代码怎么写?这…...

暗黑破坏神2终极单机插件:PlugY生存工具包完全指南

暗黑破坏神2终极单机插件:PlugY生存工具包完全指南 【免费下载链接】PlugY PlugY, The Survival Kit - Plug-in for Diablo II Lord of Destruction 项目地址: https://gitcode.com/gh_mirrors/pl/PlugY 如果你是一名暗黑破坏神2的单机玩家,是否曾…...

Python实战:用SymPy解常微分方程 vs 偏微分方程的5个关键差异

Python实战:用SymPy解常微分方程 vs 偏微分方程的5个关键差异 微分方程是数学建模的核心工具,而Python的SymPy库让符号计算变得触手可及。但当你真正在Jupyter Notebook中敲下dsolve()命令时,是否困惑过为什么有些方程秒出结果,有…...

探索kedro:数据科学项目的高效管理框架

探索kedro:数据科学项目的高效管理框架 【免费下载链接】kedro Kedro is a toolbox for production-ready data science. It uses software engineering best practices to help you create data engineering and data science pipelines that are reproducible, ma…...