\documentclass[12pt]{scrartcl}
\usepackage{pgfplots}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (a) at (-2,5);
\coordinate (b) at (-2,0);
\coordinate (c) at (2,0);
\coordinate (d) at (2,5);
\draw (a) -- (b) -- (c) -- (d);
\draw[fill=gray] ([yshift=-0.5cm]$(a)!0.3!(b)$) rectangle ($(d)!0.3!(c)$);
\draw[->] ([yshift=-0.2cm]$(a)!0.3!(b) + (a)!0.5!(d)$) -- ++(0,-2);
\end{tikzpicture}
\end{document}
我想从灰色矩形的中间绘制一个矢量。但我的计算是错误的。如果不为 (a)!0.3!(b) 和 (d)!0.3!(c) 定义特殊坐标,然后计算它们之间的中间点,我该怎么做?
答案1
pos=0.5
或者midway
也适用于矩形。
\documentclass[12pt]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (a) at (-2,5);
\coordinate (b) at (-2,0);
\coordinate (c) at (2,0);
\coordinate (d) at (2,5);
\draw (a) -- (b) -- (c) -- (d);
\draw[fill=gray] ([yshift=-0.5cm]$(a)!0.3!(b)$) rectangle
coordinate[pos=0.5] (M) ($(d)!0.3!(c)$);
\draw[<-] (M) -- ++ (0,2);
%\draw[->] ([yshift=-0.2cm]$(a)!0.3!(b) + (a)!0.5!(d)$) -- ++(0,-2);
\end{tikzpicture}
\end{document}