Точки в прямоугольной системе координат - задание координат как значений функции

Точки в прямоугольной системе координат - задание координат как значений функции

Я пытаюсь найти вершины прямоугольника и раскрасить прямоугольную область. Я указываю координату y как значение функции, например \sqrt{3}/2или \sin(60). Я получаю ошибку.

\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{calc}


\begin{document}
\begin{tikzpicture}

\coordinate (A) at (-1,{-\sqrt{3}/2});
\coordinate (B) at (-1,{\sin(60)});
\coordinate (C) at (2,{\sin(60));
\coordinate (D) at (2,{-\sqrt{3}/2});

\path[fill=yellow] (A) -- (B) -- (C) -- (D) -- cycle;

\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]below left:$A$}] at (A) {};
\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]above left:$B$}] at (B) {};
\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]above right:$C$}] at (C) {};
\node[outer sep=0pt,circle, fill,inner sep=1.5pt,label={[fill=white]below right:$D$}] at (D) {};
\end{tikzpicture}

решение1

Хотя TikZ/ pgfиспользуется в LaTeX, его синтаксис специфичен, как и синтаксис pgfматематического движка .

В этом конкретном случае функции типа sqrtили sinне начинают имя команды с \(обратной косой черты). А составные аргументы, которым нужны скобки, должны быть окружены {...}. Правильный код для coordinatesопределения должен быть:

\coordinate (A) at (-1,{-sqrt(3)/2}); 
\coordinate (B) at (-1,{sin(60)});
\coordinate (C) at (2,{sin(60)});
\coordinate (D) at (2,{-sqrt(3)/2});

Связанный контент