如何在 latex(tikz) 中在圆圈内画一个正方形?

如何在 latex(tikz) 中在圆圈内画一个正方形?

在此处输入图片描述

我在 tikz 手册中没有找到方形类型。

这两个形状应该以同一原点为中心。

    \draw[dashed, red, ultra thick](0, 0) circle [radius=10mm];
    \draw[blue, thick](-1, 0)--(0, 1)--(1, 0)--(0, -1)--circle;

为何我的代码不起作用?

任何帮助,将不胜感激。

如何使用相对坐标(语法 ++(a, b))来获取形状?

答案1

还有一个有趣的:使用backgroundsfit库。

\documentclass[border=3.141592mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{backgrounds,
                fit}

\begin{document}
    \begin{tikzpicture}[
base/.style args = {#1/#2}{draw=#1, very thick, fill=#2}
                       ]
\node [base=blue/white, minimum size=2cm, rotate=45] (t) {};
\scoped[on background layer]
    \node[base=yellow/yellow, circle, inner sep=0.5\pgflinewidth,
          fit=(t.north west) (t.south east)] {};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

只是为了好玩:

\documentclass[tikz,border=2mm]{standalone}

\begin{document}
\begin{tikzpicture}
\draw[dashed, red, ultra thick] node[draw, circle, minimum width=2cm, rotate=30] (A){};
\draw (A.north east) -- (A.south east) -- (A.south west) -- (A.north west) -- cycle;
\end{tikzpicture}
\end{document}

答案3

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{shapes.geometric}

\begin{document}
\begin{tikzpicture}
\draw[dashed, red, ultra thick] (0,0) circle (1cm);
\node[regular polygon, regular polygon sides=4, minimum size=2cm, draw, rotate=30] at (0,0) {};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容