【LaTex】3.4 立体几何

  学会了平面几何的绘图,再学立体几何就非常简单了,不过是加一个坐标而已。平面几何可以用极坐标,但是立体几何就用不了极坐标绘图了。因为太简单了,所以我不会细讲,只是写一个立方体实例,来说明语法。

代码

\documentclass[UTF8, a4paper,12pt]{article}
\usepackage{tikz}
\usetikzlibrary{calc,angles,quotes}
\begin{document}
	\begin{tikzpicture}
		\coordinate (A) at (0,0,0);
		\coordinate (B) at ($(A)+(0,2,0)$);
		\coordinate (C) at ($(A)+(2,0,0)$);
		\coordinate (D) at ($(A)+(0,0,2)$);
		
		\coordinate (E) at ($(A)+(2,2,0)$);
		\coordinate (F) at ($(A)+(2,0,2)$);
		\coordinate (G) at ($(A)+(0,2,2)$);
		
		\coordinate (H) at ($(A)+(2,2,2)$);
		\draw (A) -- (B) -- (E) -- (C) circle;
		\draw (A) -- (C) -- (F) -- (D) circle;
		\draw (A) -- (D) -- (G) -- (B) circle;
		\draw (B) -- (E) -- (H) -- (G) circle;
		\draw (E) -- (C) -- (F) -- (H) circle;
		\foreach \x in {A,B,C,D,E,F,G,H}{
			\fill (\x) circle (2pt) node[above=5pt,right] {\x};
		}
		
		
	\end{tikzpicture}
\end{document} 

编译效果

在这里插入图片描述

标准Scope

  Scope本意是范围、作用域的意思。在tikz里scope是平面的意思,也就是在哪个平面作画。在3d绘图纸,有3个标准平面:xy、xz和yz这三个平面。在3D绘图中,用scope语法选取一个标准平面进行绘制,我举一个例子:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{3d}

\begin{document}
	\begin{tikzpicture}
		\begin{scope}[canvas is zy plane at x=0]
			\draw[->] (-2,0) -- (2,0) node[right] {$y$};
			\draw[->] (0,-2) -- (0,2) node[above] {$z$};
			\draw[thick] (0,0) circle (1.5);
		\end{scope}
		\begin{scope}[canvas is xz plane at y=0]
			\draw[->] (-2,0) -- (2,0) node[right] {$x$};
			\draw[thick] (0,0) circle (1.5);
		\end{scope}
		\begin{scope}[canvas is yx plane at z=0]
			\draw[thick] (0,0) circle (1.5);
		\end{scope}
	\end{tikzpicture}
\end{document}

  绘制效果如下:
在这里插入图片描述
  scope的语法倾向于tikz的语法特点,类似自然语言。比如canvas is yx plane at z=0,这段代码就非常像自然语言。

任意平面scope

  比如说要在yz平面绕y轴旋转45°后的平面上绘图,该怎么做呢?这个时候要用新的语法了。在tikz里,x和y是互相垂直的,而z轴是和xy成45°的轴。所以左边转换要注意,和我们在中学数学使用的坐标有点不一样,要转换过来。比如我就在yz平面绕y轴旋转45°后的平面上绘制一个圆,语法就是这样的:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{3d}
\begin{document}
	\begin{tikzpicture}
		\begin{scope}[canvas is yz plane at x=0]
			\draw[->] (-2,0) -- (2,0) node[right] {$z$};
			\draw[->] (0,-2) -- (0,2) node[above] {$y$};
		\end{scope}
		\begin{scope}[canvas is xz plane at y=0]
			\draw[->] (-2,0) -- (2,0) node[right] {$x$};
		\end{scope}
	
		\begin{scope}[
			plane origin={(0,0,0)},
			plane x={(1,1,0)},
			plane y={(0,0,1)},
			canvas is plane]
			\draw[thick] (0,0) circle (1.5);
		\end{scope}
	\end{tikzpicture}
\end{document}

  平面定义的语法核心就是四句,定义平面原点,平面x和y的单位向量。
  形成的效果是这样的:
在这里插入图片描述
  因为视角的关系,这个圆显示为一条很粗的线,但是实际上是一个圆。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

醒过来摸鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值