
Я новичок в tikz, но в последнее время я его активно изучаю и получил большую помощь вэтот вопрос я задал здесь. Я написал код ниже
\begin{tikzpicture} [scale=2]
\coordinate (A) at (0,3);
\coordinate (B) at (0,0);
\coordinate (C) at (3,0);
\coordinate (D) at (3,3);
\coordinate (E) at (0,2);
\coordinate (F) at (3,2);
\draw[fill=teal] (E) .. controls (1.5,2.75) and (1.5,2.75) .. (F) --
(C)
--
(B)
-- (E);
\draw (A) -- (E);
\draw (D) -- (F);
\draw[color=blue] (E) .. controls (1.5,2.75) and (1.5,2.75) .. (F) ;
\end{tikzpicture}
что дает цифру слева, тогда как я ищу ту, что справа, в том, что появляется ниже
Меня не волнуют цвета, длина и ширина внешней рамки/коробки. Меня волнует форма дуги/кривой сверху. На левом рисунке кривая кажется изогнутой в начале и конце, тогда как на правом рисунке верхняя кривая/дуга более плоская около левой и правой конечных точек (я выделил указанные проблемные области красным). Я пробовал изменять свои контрольные точки, но это, похоже, не сработало. Можно ли это сделать с помощью tikz, используя контрольные точки, или мне нужно что-то совсем другое? Я благодарю всех помощников и буду признателен за любую помощь по этому вопросу.
решение1
Вероятно, самый простой способ настроить такие кривые — использовать out=
и in=
в to
команде:
\draw (E) to[out=0, in=180] (G)
сделает исходящий угол 0 (на восток) из (E)
и входящий угол 180 (с запада) в (G)
. Так что поместите координату (G)
туда, где хотите, скажем, в (1.5,2.5)
.
Вы можете отрегулировать looseness
дугу, добавив looseness=.8
(или любой другой фактор, который вам нравится) к \draw
параметрам: \draw[fill=teal, looseness=.8]
.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture} [scale=2]
\coordinate (A) at (0,3);
\coordinate (B) at (0,0);
\coordinate (C) at (3,0);
\coordinate (D) at (3,3);
\coordinate (E) at (0,2);
\coordinate (F) at (3,2);
\coordinate (G) at (1.5,2.5);
\draw[fill=teal] (E) to[out=0, in=180] (G) to[out=0, in=180] (F) -- (C) -- (B) -- cycle;
\draw (A) -- (E);
\draw (D) -- (F);
\end{tikzpicture}
\end{document}