怎样用循环语句精减这个图

发布于 2024-11-12 10:28:41

怎样用循环等语句精减这个图,我画的太繁杂了
QQ_1731378004442.png

MWE:
https://pastebin.ubuntu.com/p/9XfK86WMqp/

查看更多

关注者
0
被浏览
359
Sagittarius Rover
Sagittarius Rover 2024-11-19
我要成为TikZ糕手/(ㄒoㄒ)/~~

略作尝试,还得靠你自己微调。

\documentclass[border=8pt]{standalone}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usepackage{xfp}
\begin{document}
\newcommand*{\threerectangles}[2]{
    \pgfmathsetmacro\x{\fpeval{#1+0.64*(#2-#1)}}
    \pgfmathsetmacro\y{\fpeval{0+0.48*(#2-#1)}}
    \tkzDefPoints{#1/0/A,#2/0/B,\x/\y/C}
    % \tkzDrawPolygon(A,B,C)
    \tkzDefSquare(B,A) \tkzDrawPolygon(B,A,tkzFirstPointResult,tkzSecondPointResult)
    \tkzDefSquare(A,C) \tkzDrawPolygon(A,C,tkzFirstPointResult,tkzSecondPointResult)
    \tkzDefSquare(C,B) \tkzDrawPolygon(C,B,tkzFirstPointResult,tkzSecondPointResult)
}
% https://tex.stackexchange.com/questions/164476/how-to-add-a-global-before-pgfmathsetmacro
\begin{tikzpicture}
    \pgfmathsetmacro\posa{0}
    \pgfmathsetmacro\posb{5}
    \foreach \i in {1,...,5}{
        \threerectangles{\posa}{\posb}
        \pgfmathsetmacro\tmp{\posb}
        \pgfmathparse{\fpeval{\tmp+0.6*(\tmp-\posa)*1.25}}
        \global\let\posb\pgfmathresult
        \global\let\posa\tmp
        % \node at (\i,\i) {(\posa,\posb,\tmp)};
    }
\end{tikzpicture}
\end{document}

image.png

2 个回答
latex2020
latex2020 2024-11-19
这家伙很懒,什么也没写!

非常感谢。学习中....

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览