提问于:
浏览数:
2560
1 回答
2
可以用 tikz-3dplot 宏包,下面的MWE 是借鉴的网上的一段代码,稍微删改了一下加了点备注,原链接找不到了就不贴了。
```
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\usetikzlibrary{patterns,backgrounds}
\begin{document}
\tdplotsetmaincoords{70}{20}
%定义图像朝向,默认是x轴水平向右,y轴竖直向上,z轴与画面(电脑桌面)垂直。
%其中70表示,竖直方向(向上)旋转70°
%20表示,水平方向(顺时针)旋转20°
\begin{tikzpicture}[tdplot_main_coords,declare function={R=pi;}]
% 使用tdplot_main_coords 样式,定义系数R 赋值 pi(可以是具体数值)
\shade[tdplot_screen_coords,ball color=gray,opacity=0.5] (0,0) coordinate(O)
circle[radius=R];
% 画球,定义记为 O 点 坐标(0,0)
\draw[blue,pattern=dots,pattern color=blue]
plot[variable=\x,domain=90:0,smooth] (0,{-R*sin(\x)},{R*cos(\x)})
coordinate (p1)
-- plot[variable=\x,domain=0:90,smooth] ({R*sin(\x)},0,{R*cos(\x)})
coordinate (p2)
-- plot[variable=\x,domain=0:90,smooth] ({R*cos(\x)},{-R*sin(\x)},0)
coordinate (p3);
% 画阴影部分,使用pattern 选择dots 样式,
% 想填充纯色的画用fill
% 这个部分需要自己找边界曲线函数,
\begin{scope}[on background layer]
\foreach \X in {1,2,3}
{ \draw[dashed] (O) -- (p\X); }
\end{scope}
\end{tikzpicture}
\end{document}
```
不知道是不是你想要的
![](https://wenda.latexstudio.net/data/attach/200719/uuIOy4HC.png)
-
回复 洣轲,GO! : 我都是刊 宏包说明不知道有什么书,,你可以再电脑运行窗口输入texdoc tikz查看tikz红包说明,texdoc tikz-3dplot 查看三维图的红包说明 – joefsong 2020-07-22 15:05 回复
-
感谢您的回答,请问有没有tikz的书或者教程可以推荐呢?再次万分感谢 – 洣轲,GO! 2020-07-21 09:52 回复
-
非常感谢! – 洣轲,GO! 2020-07-21 09:51 回复
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。