TikZ:从原点到圆的边缘画一条线

TikZ:从原点到圆的边缘画一条线

我如何从原点到圆的边缘画一条线?

\documentclass{article}
\usepackage{tikz}
\usepackage{fp}
\usetikzlibrary{calc, arrows, fixedpointarithmetic}
\begin{document}
\begin{tikzpicture}[line cap = round, line join = round, >=triangle 45,
scale = 1.25, fixed point arithmetic]
\coordinate (O) at (0, 0);
\coordinate (P1) at ($(O) + (-30:1.5cm and .75cm)$);

\draw[-latex] (P1) arc (-30:310:1.5cm and .75cm) coordinate (P2);
\draw[-latex] (O) -- (0, 1.75) node[above, scale = .75] {\(\mathbf{h}\)};
\draw ($(P1)!.5!(P2)$) circle (.18cm) coordinate (P3);
%\draw[blue] (O) --  How to finish this? 
\end{tikzpicture}
\end{document}

我不知道完成该线的最后一个坐标应该是什么。我尝试过:

($(P3) + (-30:1.5cm and .75cm)$)

还有其他东西,但我记不清还有什么。无论如何,它不起作用。

之后,我想从圆的第一个边到另一条边画一条与实蓝线成一线的虚线。

答案1

P3您可以使用以下表达式找到蓝线与圆边缘的交点:“它是位于线 上(P3)--(0),距离 0.18 厘米处的点P3,在 tikz 语法中为($(P3)!.18cm!(O)$)

如果你调用该点,你可以类似地在同一个圆中找到直径上相反的点,表达式为“它是位于距离 0.36 厘米处的P4线上的点,这是 tikz 语法。(P4)--(P3)P4($(P4)!.36cm!(P3)$)

在图中使用以下表达式:

\begin{tikzpicture}[line cap = round, line join = round, >=triangle 45,
scale = 1.25]
\coordinate (O) at (0, 0);
\coordinate (P1) at ($(O) + (-30:1.5cm and .75cm)$);

\draw[-latex] (P1) arc (-30:310:1.5cm and .75cm) coordinate (P2);
\draw[-latex] (O) -- (0, 1.75) node[above, scale = .75] {\(\mathbf{h}\)};
\draw ($(P1)!.5!(P2)$) circle (.18cm) coordinate (P3);

\draw[blue] (O) -- ($(P3)!.18cm!(O)$) coordinate (P4);
\draw[green] (P4) -- ($(P4)!.36cm!(P3)$);

\end{tikzpicture}

你得到

在此处输入图片描述

答案2

您可以使用shorten

\documentclass[tikz]{standalone}

\usetikzlibrary{calc, arrows}
\begin{document}
\begin{tikzpicture}[line cap = round, line join = round, >=triangle 45]
\coordinate (O) at (0, 0);
\coordinate (P1) at ($(O) + (-30:1.5cm and .75cm)$);

\draw[-latex] (P1) arc (-30:310:1.5cm and .75cm);
\path (P1) arc (-30:320:1.5cm and .75cm) coordinate (P2);
\draw[-latex] (O) -- (0, 1.75) node[above, scale = .75] {\(\mathbf{h}\)};
\draw (P2) circle (1.8mm);
\draw[blue,shorten >=1.8mm] (O) --  (P2); 
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容