在 3D 空间中绘制平面

在 3D 空间中绘制平面

我怎样才能$- \sqrt{3} x+y=0 $在空间中用方程画出一个平面(用tikz)?

答案1

您不能简单地使用rectangle,这不会产生预期的输出。但您可以像这样“手动”绘制平面:

在此处输入图片描述

\documentclass{article}

\usepackage{tikz}
\usepackage{tikz-3dplot}

\begin{document}

\tdplotsetmaincoords{70}{110}
\begin{tikzpicture}[scale=3,tdplot_main_coords]
    \draw[thick,->] (0,0,0) -- (1,0,0) node[anchor=north east]{$x$};
    \def\x{.5}
    \draw[thin] (0,0,0) -- ({1.2*\x},{sqrt(3)*1.2*\x},0) node[below] {$y=\sqrt{3}x$};
    \filldraw[
        draw=red,%
        fill=red!20,%
    ]          (0,0,0)
            -- (\x,{sqrt(3)*\x},0)
            -- (\x,{sqrt(3)*\x},1)
            -- (0,0,1)
            -- cycle;
    \draw[thick,->] (0,0,0) -- (0,1,0) node[anchor=north west]{$y$};
    \draw[thick,->] (0,0,0) -- (0,0,1) node[anchor=south]{$z$};
\end{tikzpicture}

\end{document}

答案2

一个老问题的渐近线答案。这是我们可以填充内部的p=plane(A,B)平面(平行四边形)O--A--A+B--B--cycle

draw(surface(p),magenta+opacity(.2));

并划定边界

draw(p,magenta+.6pt);

其他东西只是为了装饰。

在此处输入图片描述

// run Asymptote code on http://asymptote.ualberta.ca/
// Draw the plane sqrt(3) x - y = 0
unitsize(1cm);
import three;
draw(Label("$x$",EndPoint,align=SW),O--2.5X,Arrow3);
draw(Label("$y$",EndPoint),O--4Y,Arrow3);
draw(Label("$z$",EndPoint),O--3Z,Arrow3);

triple A=(1,sqrt(3),0), B=2Z;
path3 p=plane(A,B);
draw(surface(p),magenta+opacity(.2));
draw(p,magenta+.6pt);
label("$x\sqrt{3} -y =0$",A+B,NE,magenta);
draw(Label(scale(.6)*"$1$",EndPoint,align=NW,black),A--(A.x,0,0),gray+dashed);
draw(Label(scale(.6)*"$\sqrt{3}$",EndPoint,align=.4dir(60),black),A--(0,A.y,0),gray+dashed);

相关内容