[心得] 用tikz填滿兩函數之間的區域

看板LaTeX作者 (我不想當好人,但...)時間14年前 (2010/03/30 04:51), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
\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
文章代碼(AID): #1BiHBjjN (LaTeX)