在 tikz 中绘制图像时避免轴失真

在 tikz 中绘制图像时避免轴失真

我想circle在一个矩形内以圆形绘制 10 s。

问题在于这 10 个圆圈的位置是椭圆形的,而不是围绕圆的圆周。

我想将这 10 个圆圈相对于这个矩形放置;这就是我使用范围的原因(也许我将来会改变矩形的大小以及圆的半径,也是相对于矩形的尺寸)。

所以我用了这个回答,创建以下内容:

在此处输入图片描述

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\begin{document}
\begin{tikzpicture}

\node (frame) [
  anchor=south west,
  inner sep=0,outer sep=0pt,
  draw,very thick,
  minimum width = 4cm, minimum height = 1cm
] at (0,0) {};
\begin{scope}[x={(frame.south east)},y={(frame.north west)}]
\foreach \i in {1,2,...,10}
\filldraw ($ ({360/10*\i}:0.1) + (0.2,0.8) $) circle (1pt);

\end{scope}
\end{tikzpicture}

\end{document}

问题在于,范围内的轴不再正交;正如指出的那样,单位向量的大小不相等这里

但我该如何修复它呢?

我添加了inner sep=0outer sep=0似乎没有任何效果。

答案1

\documentclass[tikz, border=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\newcommand{\rectw}{4}
\newcommand{\recth}{1}
\newcommand{\radi}{0.2}
\node[
draw, very thick,
minimum width=\rectw cm, minimum height=\recth cm,
] (frame) at (0,0) {};
\foreach \i in {1,2,...,10}
\fill ([shift={(-1,0.2)}]frame.center) +(360/10*\i:\radi) circle[radius=1pt];
\end{tikzpicture}
\end{document}

带一圈圆点的矩形

相关内容