有没有一种优雅的方法可以将弧分成 n 个相等的部分?我在文档中讨论了球的表面积。SA = 2\pi r l
因此,我想从具有 n(3、4 或 5)个线段近似值的弧开始,然后我将研究当 n 趋于无穷大时取和的极限。
我想不出在弧线上分割 n 条等距线的方法,其中 n 是我决定使用的数字。目前我只有弧线。
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\coordinate (O) at (0, 0);
\draw (O) arc[radius = 2, start angle = 15, end angle = 75];
\end{tikzpicture}
\end{document}
答案1
这是一个宏,它生成n
用于近似圆弧的线段,实际圆弧以灰色显示:
笔记:
- 这个例子
n=3
表明您可以从零度以外的角度开始。
代码:
\documentclass[tikz]{standalone}
\begin{document}
% Ensure we are not overriding any existing macro
\newcommand*{\DeltaAngle}{}
\newcommand*{\CurrentStartAngle}{}
\newcommand*{\CurrentEndAngle}{}
\newcommand*{\SegmentedArc}[5][]{%
% #1 = draw options
% #2 = number of segments
% #3 = arc start angle
% #4 = arc end angle
% #5 = radius
\draw [thin, gray] (#3:#5) arc [radius = #5, start angle = #3, end angle = #4];
%
\node [below, #1] at (#3:#5) {$n=#2$};
\pgfmathsetmacro{\DeltaAngle}{(#4-#3)/#2}%
\foreach \x in {1,...,#2} {%
\pgfmathsetmacro{\CurrentStartAngle}{#3+(\x-1)*\DeltaAngle}%
\pgfmathsetmacro{\CurrentEndAngle}{\CurrentStartAngle+\DeltaAngle}%
\typeout{\string\CurrentStartAngle=\CurrentStartAngle, \string\CurrentEndAngle=\CurrentEndAngle}%
\draw [#1] (\CurrentStartAngle:#5cm) -- (\CurrentEndAngle:#5cm);
}%
}%
\begin{tikzpicture}
\coordinate (O) at (0, 0);
\SegmentedArc[thin, blue]{2}{0}{75}{2}
\begin{scope}[xshift=1.0cm]
\SegmentedArc[thin, red]{3}{15}{75}{2}
\end{scope}
\begin{scope}[xshift=2.0cm]
\SegmentedArc[thin, brown]{4}{0}{75}{2}
\end{scope}
\end{tikzpicture}
\end{document}