作者rogerli (我不想当好人,但...)
看板LaTeX
标题[心得] 用tikz填满两函数之间的区域
时间Tue Mar 30 04:51:54 2010
\documentclass{report}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[color=red!20] plot[domain=0.5:4] (\x,{sin(\x r) + 3}) --
(4,{cos(4 r) + 5}) --
plot[domain=4:0.5] (\x,{cos(\x r) + 5}) -- cycle;
\end{tikzpicture}
\end{document}
假设两个函数是
f(x) = sin x +3
g(x) = cos x +5
我们要作的图是要把 0.5 <= x <= 4 这区间两函数之间的范围填满。
首先,filldraw和draw基本功能相同,唯一的区别是filldraw会把
围住的封闭区间用指定的颜色填满。所以在option当中就先指定了
颜色为红red。如果改成draw的话,就只有外框线。
"red!20"代表只用20% 的彩度,最後的结果会比较"不红"。
plot[domain=0.5:4] (\x,{sin(\x r)+3})
\x 代表变数 x ,范围由domain指定,这里设的是 0.5~4。
\x可以用任何字母替换,例如\t 等等,只要记得相应的地方要改。
(a,b)是座标,其中 a = \x就是 x座标,至於 y座标则由变数
\x 带入f(x)来算出,所以 y座标 = f(x) = sin x + 3。
{sin(\x r)+3} r代表用弪度radian(当然可以用d代表角度degree)。
此外,tkiz中凡是要计算的,请用{}框住。
系统已经内建了几个常用函数,都可以用在绘制函数图上。
(有理式当然更不用多说)
所以第一个plot就画出了从 0.5~4 的f(x)图形。接着我们要从
(4,f(x))连接到(4,g(x))所以就有这个:
-- (4,{cos(4 r)+5})
-- 代表两点之间连线,
\draw[->] (0,0) -- (1,1);
代表划一条从原点(0,0)到(1,1) 有箭头的线。
[->],[<->],[<-]这三个option看样子就知道画出来的是什麽线了。
不设的话就是直线。
画到(4,g(x))後,我们要继续完成g(x)的图形。
因为是先到达\x=4 这个位置,所以plot指令里的domain要反过来。
变成:
plot[domain=4:0.5] (\x,{cos(\x r) + 5})
\x 变成从4 开始,0.5结束。
最後的 -- cycle,代表和初始点连线完成图形封闭。
这样就画完两函数区间图了。
当然,f(x)与g(x)的domain可以不同。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.255.5.101
1F:→ jackjack0040:嗯嗯~原来如此~ 03/30 08:27
2F:推 weiye:感谢分享心得!! :) 03/30 16:58