答案1
欢迎来到 TeX.SE。
这是第一种方法,使用calc
Ti钾Z 库。它有助于放置相对于其他坐标的坐标。
我不是在画虚线。如果你想要它们,你还需要画几条clips
(例如)。
这就是我所拥有的:
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{calc}
\tikzset{surface/.style={blue,left color=blue!30,fill opacity=0.8}}
\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,
x={(-0.5cm,-0.5cm)},y={(1cm,0cm)},z={(0cm,1cm)}]
% coordinates
\def\myangle{70} % trial an error!
\coordinate (V) at (0,0.5,2.5);
\coordinate (A1) at (-135:1);
\coordinate (A2) at (-\myangle:1);
\coordinate (A3) at ($(0,2)+(180-\myangle:1)$);
\coordinate (A4) at ($(0,2)+(45:1)$);
\foreach\i in {1,...,4}
\coordinate (B\i) at ($(A\i)+(V)$);
% axes
\draw[-latex] (-2,-2,0) --++ (4,0,0) node[below] {$x$};
\draw[-latex] (-2,-2,0) --++ (0,5,0) node[right] {$y$};
\draw[-latex] (-2,-2,0) --++ (0,0,3) node[above] {$z$};
% surface
\draw[surface] (A1) arc (-135:-\myangle:1) -- (B2) arc (-\myangle:-135:1) -- cycle;
\draw[surface] (A2) arc (-\myangle:90:1) arc (270:180-\myangle:1) -- (B3)
arc (180-\myangle:270:1) arc (90:-\myangle:1) -- cycle;
\draw[surface] (A4) arc (45:180-\myangle:1) -- (B3) arc (180-\myangle:45:1) -- cycle;
% uncomment this to show some coordinates
%\foreach\i in {1,2,3,4}
% \node at (A\i) {$A_\i$};
\end{tikzpicture}
\end{document}