我画了一条穿过 A、B 和 C 的抛物线。有三个不同的方程式:顶部较暗的边框、填充(这只是使用宽线的技巧)和下边框。这不是我想要的。
我想强调的是,拱门有两个独立的部分,它们在 B 处连接在一起,所以我试图单独绘制 AB。我用红色绘制了从 A 到 B 附近的上边界函数,然后使用弧线与 B 处相切并到达拱门的下边界。
我想将一个函数调用链接到我的语句(下面的最后一个语句),它将绘制从 B 回到 A 的拱门下边界的公式。
我不确定语法:
- 如何链接函数调用,并与语句中的第一个调用具有不同的域?
- 当绘制从 B 回到 A 的拱门底部边界的抛物线时,我需要从右到左(
B_x
到A_x
)绘制抛物线。这可能吗?
% arch fill (central formula)
\draw[domain=4.2:13.825, color=LightCyan3, line width=0.375cm, line cap=rect] plot[id=1] function{-3*x*x/32+3*x/2};
% upper arch border
\draw[domain=3.85:14.187, color=LightCyan4, thick] plot[id=2] function{-.090215*x*x+1.4425*x+0.48342};
% lower arch border
\draw[domain=4.15:13.813, color=LightCyan4, thick] plot[id=3] function{-0.097567*x*x+1.5621*x-0.50220};
% incomplete red border
\draw[domain=3.85:7.75, draw=red, fill=none, very thick]plot[id=4] function{-0.090211*x*x+1.4425*x+0.48342}arc(90:-90:0.25);
答案1
很可能我没有完全理解或理解你想要什么。是的,你可以反转情节,而且我认为你不需要 gnuplot 来实现如此简单的功能。
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{positioning,shapes.multipart,shapes,fit,decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\draw[domain=4.2:13.825, color=cyan, line width=0.375cm, line cap=rect] plot[id=1] function{-3*x*x/32+3*x/2};
% upper arc border
\draw[domain=3.85:14.187, color=cyan, thick] plot[variable=\x]
({\x},{-.090215*\x*\x+1.4425*\x+0.48342});
% lower arc border
\draw[domain=4.15:13.813, color=cyan, thick] plot[variable=\x]
({\x},{-0.097567*\x*\x+1.5621*\x-0.50220});
% incomplete red border
\draw[draw=red, fill=none, very thick,fill=red!20]
plot[domain=3.85:7.75,variable=\x] ({\x},{-0.090211*\x*\x+1.4425*\x+0.48342})
arc(90:-90:0.25)
plot[domain=7.75:3.85,variable=\x] ({\x},{-0.097567*\x*\x+1.5621*\x-0.50220})
-- (3.85,{-0.090211*3.85*3.85+1.4425*3.85+0.48342});
\end{tikzpicture}
\end{document}
为了好玩,我还给轮廓加了阴影。如果您不喜欢这样,只需删除语句fill=red!20
and -- (3.85,{-0.090211*3.85*3.85+1.4425*3.85+0.48342})
(但不要删除分号)。