[心得] 用tikz填滿兩函數之間的區域
\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
→
03/30 08:27, , 1F
03/30 08:27, 1F
推
03/30 16:58, , 2F
03/30 16:58, 2F