如果我编译这个文件:
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=5]
\draw[thick] ({-sqrt(3)/2-1/2},{-1/2+sqrt(3)/2}) parabola bend (0,0)
({sqrt(3)/2-1/2},{1/2+sqrt(3)/2});
\draw (0,0)--({sqrt(3)-1},{1/sqrt(3)*(sqrt(3)-1)});
\draw (0,0)--({-(1/2+sqrt(3)/2)/sqrt(3)},{1/2+sqrt(3)/2});
\end{tikzpicture}
\end{center}
\end{document}
这两条线段正交,有一个共同点,即(0,0)。可以清楚地看到,抛物线的顶点位于靠近(0,0),但并不完全在那里。有人能告诉我为什么吗?该命令不是bend
要强制顶点位于 (0,0) 吗?这可能是由于舍入误差造成的吗?
笔记:我是不是要求另一种不使用命令来获取此抛物线的方法parabola
。我知道该怎么做。
答案1
不用多说,抛物线构造会产生“直立”抛物线。更详细地说,“标准”抛物线由以下公式给出
p(x) = a x^2 + b x + c ,
如果你提供三个点,(x_1,y_1)
和(x_2,y_2)
,(x_3,y_3)
那么 Ti钾Z 将找到系数a
,b
并c
通过求解
p(x_i) = y_i for i=1,2,3.
但是,如果你想让 处的切线(0,0)
具有非平凡斜率,你似乎正在寻找旋转的抛物线。所以你可能想要使用键rotate
。你的抛物线相当于
\draw[thick] (165:{sqrt(2)}) parabola bend (0,0) (75:{sqrt(2)});
但你似乎想要
\draw[thick,rotate=30] (135:{sqrt(2)}) parabola bend (0,0) (45:{sqrt(2)});
它经过相同的三个点,但并没有“变形”。
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[scale=5]
% Your parabola
% \draw[thick] ({-sqrt(3)/2-1/2},{-1/2+sqrt(3)/2}) parabola bend (0,0)
% ({sqrt(3)/2-1/2},{1/2+sqrt(3)/2});
% Alternative presentation of your parabola
% \draw[thick] (165:{sqrt(2)}) parabola bend (0,0)
% (75:{sqrt(2)});
% You may want
\draw[thick,rotate=30] (135:{sqrt(2)}) parabola bend (0,0)
(45:{sqrt(2)});
\draw[rotate=30] (0,1) -- (0,0) -- (1,0);
% \draw (0,0)--({sqrt(3)-1},{1/sqrt(3)*(sqrt(3)-1)});
% \draw (0,0)--({-(1/2+sqrt(3)/2)/sqrt(3)},{1/2+sqrt(3)/2});
\end{tikzpicture}
\end{document}