我如何从原点到圆的边缘画一条线?
\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}