![有人可以帮助我们用 tikz 绘制以下复杂图形吗?](https://linux22.com/image/410563/%E6%9C%89%E4%BA%BA%E5%8F%AF%E4%BB%A5%E5%B8%AE%E5%8A%A9%E6%88%91%E4%BB%AC%E7%94%A8%20tikz%20%E7%BB%98%E5%88%B6%E4%BB%A5%E4%B8%8B%E5%A4%8D%E6%9D%82%E5%9B%BE%E5%BD%A2%E5%90%97%EF%BC%9F.png)
答案1
我无法帮助你使用 TikZ,但这里有一个尝试元帖子到目前为止我只做了第一部分
这是源代码。用 进行编译mpost
。
prologues := 3;
outputtemplate := "%j%c.eps";
def ? = infont"pcrr8r"scaled.9
rotated 2 normaldeviate enddef;
beginfig(1);
-z1 = z2 = 100 right; z3 = z2 rotatedabout(z1, 61);
path t; t = z1 -- z2 -- z3 -- cycle;
drawoptions(withpen pencircle scaled 2);
draw t;
draw for i=1, 5, 7, 2.2, 4, 8: point i/3 of t shifted (normaldeviate, normaldeviate) -- endfor cycle;
z0 = 1/3 (z1 + z2 + z3);
label("text1"?, 1/3 (point 5/3 of t + point 6/3 of t + point 7/3 of t));
label("text2"?, 1/3 (point 7/3 of t + point 8/3 of t + z0));
label("text3"?, 1/3 (point 7/3 of t + point 5/3 of t + z0));
label("text4"?, 1/3 (point 4/3 of t + point 5/3 of t + z0));
label("text5"?, 1/3 (point 0/3 of t + point 1/3 of t + point 8/3 of t));
label("text6"?, 1/3 (z0 + point 1/3 of t + point 8/3 of t));
label("text7"?, 1/3 (z0 + point 1/3 of t + point 2.2/3 of t));
label("text8"?, 1/3 (z0 + point 2.2/3 of t + point 4/3 of t));
label("text9"?, 1/3 (point 2.2/3 of t + point 3/3 of t + point 4/3 of t));
label.bot("text"?, origin);
picture brk; brk = image(draw origin {dir 40} ... {dir 82} 2(5, 15) withpen pencircle scaled 2;
draw origin {dir -30} ... {dir -84} 2(6, -13) withpen pencircle scaled 2;);
z10 = point 2 of t shifted -(50, 30); draw brk shifted z10; label.lft("text10" ?, z10);
z12 = point 0 of t shifted (-16, 27); draw brk shifted z12; label.lft("text12" ?, z12);
z11 = point 3/2 of t shifted 36 right; draw brk reflectedabout(up, down) shifted z11; label.rt("text11"?, z11);
endfig;
end.
(PS:别太认真...)