latex - 如何填充花瓣的区域?
问题描述
我想要的原始图像:
让我填补这些地区。有人可以帮助我吗?我的乳胶代码:
\documentclass[border=5mm]{standalone}
\usepackage[svgnames,x11names,dvispnames]{xcolor}
\usepackage{tikz,tkz-base,tkz-euclide,tkz-fct}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A, 6/0/B}
\tkzDefSquare(A,B) \tkzGetPoints{C}{D}
\tkzDrawPolygon(A,B,C,D)
\tkzDefMidPoint(A,B) \tkzGetPoint{M}
\tkzDefMidPoint(A,D) \tkzGetPoint{N}
\tkzDefMidPoint(B,C) \tkzGetPoint{O}
\tkzDefMidPoint(C,D) \tkzGetPoint{P}
\tkzDrawSemiCircle(M,B)
\tkzDrawSemiCircle(N,A)
\tkzDrawSemiCircle(O,C)
\tkzDrawSemiCircle(P,D)
%\tkzLabelPoints(A,B,C,D,M,N,O,P)
\end{tikzpicture}
\end{document}
解决方案
\documentclass[border=5mm]{standalone}
\usepackage[svgnames,x11names,dvispnames]{xcolor}
\usepackage{tikz,tkz-base,tkz-euclide,tkz-fct}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A, 6/0/B}
\tkzDefSquare(A,B) \tkzGetPoints{C}{D}
\tkzDrawPolygon(A,B,C,D)
\tkzDefMidPoint(A,B) \tkzGetPoint{M}
\tkzDefMidPoint(A,D) \tkzGetPoint{N}
\tkzDefMidPoint(B,C) \tkzGetPoint{O}
\tkzDefMidPoint(C,D) \tkzGetPoint{P}
\begin{pgfinterruptboundingbox}
\begin{scope}
\tkzClipCircle(N,A)
\tkzDrawSemiCircle[fill=blue,draw=none](M,B)
\tkzDrawSemiCircle[fill=yellow,draw=none](P,D)
\end{scope}
\begin{scope}
\tkzClipCircle(O,B)
\tkzDrawSemiCircle[fill=red,draw=none](M,B)
\tkzDrawSemiCircle[fill=green,draw=none](P,D)
\end{scope}
\end{pgfinterruptboundingbox}
\tkzLabelPoints(A,B,C,D,M,N,O,P)
\end{tikzpicture}
\end{document}
推荐阅读
- javascript - 网站上的问题..注册仍然出现在登录表单上
- windows-10 - 你如何为 MS Teams 制定 Windows Defender 防火墙规则?
- javascript - 过滤函数在reactjs中返回空数组
- sql-server - 死锁 - 从死锁报告中查找完整的 SQL 语句
- laravel - Laravel 获取模型可用座位
- node.js - 用 Jest 模拟模块无法正常工作
- c# - C# - Revit - 零件的长度和方向
- c# - 使用对象自己的值对数组中的对象执行更新
- awk - 使用 awk 打印不带双引号
- ios - 使用 Frida 枚举 ivars (iOS)