21

I want to draw the Pacman circle on TikZ:

http://www.vectorstash.com/content/pac-man

Drawing a circle and filling in a color is easy; it's the mouth part that's troubling me. I can draw the two straight lines, but then I try to connect them with a curve using the [out=...,in=...] syntax and I can't get it to work. Is there an easier way to make this work?

What I've tried:

\begin{tikzpicture}
\path[fill=yellow] (2,1.1) to [out=30,in=150] (0,1.2) to [out=30,in=150] (2,1.3) -- (1,1.2) -- (2,1.1);
\end{tikzpicture}
  • Welcome to TeX.SE! The picture you are referring to has straight lines. So how precisely should the Pacman look like? Could you show what you have tried? – marmot Apr 28 '18 at 3:44
  • Certainly! I've tried the code above. I just can't get the curve right. – user11550 Apr 28 '18 at 3:48
  • I worry about copyright. – Benjamin McKay Apr 13 at 6:32
11

edit:

consider Kpym comments let expanded one "paceman" to set of them with different orientation, size, rotation and colors....

enter image description here

\documentclass[tikz, margin=3mm]{standalone}
\usepackage{geometry}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}%[scale=...]
  \draw[thick,fill=yellow]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
  \fill (0,0.66) circle (1.5mm);
\end{tikzpicture}\quad
\begin{tikzpicture}[xscale=-1]
  \draw[thick,fill=yellow]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
  \fill (0,2/3) circle (1.5mm);
\end{tikzpicture}\quad 
\begin{tikzpicture}[scale=-1]
  \draw[thick,fill=yellow]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
  \fill (0,2/3) circle (1.5mm);
\end{tikzpicture}\quad 
\begin{tikzpicture}[yscale=-1]
  \draw[thick,fill=yellow]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
  \fill (0,2/3) circle (1.5mm);
\end{tikzpicture}\quad 
\begin{tikzpicture}[scale=0.75,rotate=-45]
  \draw[thick,fill=yellow!50!orange]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
  \fill (0,2/3) circle (1.5mm);
\end{tikzpicture}\quad 
\begin{tikzpicture}[xscale=-0.75,yscale=0.75, rotate=45]
  \draw[thick,fill=orange]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
  \fill (0,2/3) circle (1.5mm);
\end{tikzpicture}\quad 
\begin{tikzpicture}[scale=-0.75, rotate=90]
  \draw[thick,fill=olive]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
  \fill (0,2/3) circle (1.5mm);
\end{tikzpicture}
\end{document}

size and orientation of "pacman" (as you can see) you can adopt to your wishes with scaling with scale=..., xscale=..., yscale=..., rotate=... in any combination.

edit (2):

another idea is to define "paceman" as \newcommand and use it in document also out of tikzpicture environment:

 \documentclass{article}
\usepackage{geometry}
\usepackage{tikz}

\newcommand\pacman[2]{\tikz[baseline, #1]{%
    \draw[thick,fill=#2]
    (0,0) -- (30:1cm) arc (30:330:1cm) -- cycle;
    \fill (0,2/3) circle (1.5mm);}
                       } 
\begin{document}
\pacman{scale=1}{yellow}\quad
\pacman{xscale=-1}{yellow}\quad 
\pacman{scale=-1}{yellow}\quad
\pacman{yscale=-1}{yellow}\quad

\begin{tikzpicture}
\pacman{scale=0.75,rotate=-45}{yellow!50!orange}\quad 
\pacman{xscale=-0.75,yscale=0.75, rotate=45}{orange}
\end{tikzpicture}
 \end{document}

enter image description here

  • 1
    For code golfing \tikz{\draw[thick,fill=yellow](0,0)--(30:1)arc(30:330:1)--cycle;\fill(0,2/3)circle (.15);} your solution is ;) – Kpym Apr 28 '18 at 5:22
  • Thanks! I also want to draw a Pacman that faces the opposite direction. I tried both 150:210 and 210:150, but neither works. What should I do? – user11550 Apr 28 '18 at 5:32
  • @user11550 you can simply add [yscale=-1] to obtain the opposite direction. And if you want to turn it [rotate=...]. Both can be combined like this [yscale=-1,rotate=...] – Kpym Apr 28 '18 at 7:21
  • @Kpym, thank you very much for all suggestions! i consider them in edited answer. thank you again. – Zarko Apr 28 '18 at 9:11
  • @user11550, see edited answer. – Zarko Apr 28 '18 at 9:19
41

I think you misinterpret what the in and out syntax does. You may want to use arc.

\documentclass[tikz,border=3.14mm]{standalone}
\tikzset{
  Pacman/.pic={
\shadedraw[inner color=yellow,outer color=yellow!80!black,draw=black,thick] 
(0,0) -- (40:2) arc(40:320:2) -- cycle;
\fill (0,1) circle (0.3);
  }
}

\begin{document}
\begin{tikzpicture}
\pic {Pacman};
\pic[xscale=-1] at (5,0) {Pacman};
\end{tikzpicture}
\end{document}

enter image description here

Anyway, here is a 3D version.

\documentclass[tikz,border=3.14mm]{standalone}
\tikzset{Pacman/.pic={
\fill (0,0)  to[out={1.75*#1},in={180-0.25*#1}] ({0.92*#1}:2)
 to[out={-180+0.25*#1},in={1.75*#1},looseness=0.5] (1,0) 
 to[out={-1.75*#1},in={180-0.25*#1},looseness=0.5] ({-0.92*#1}:2) 
 to [out={-180+0.25*#1},in={-1.75*#1}] cycle;
\shadedraw[ball color=yellow,thick] 
(0,0)  to[out={1.75*#1},in={180-0.25*#1}] ({0.92*#1}:2)
 arc({0.92*#1}:{360-0.92*#1}:2) to [out={-180+0.25*#1},in={-1.75*#1}]
  cycle;
\fill ({0.3-0.01*#1},1) circle (0.3);
  }
}

\begin{document}
\begin{tikzpicture}
\pic {Pacman=50};
\pic[xscale=-1] at (5,0) {Pacman=20};
\end{tikzpicture}
\end{document}

enter image description here

EDIT: Added backwards facing Pacman and used pic and added 3D.

2nd EDIT: Inspired by samcarter, who got inspired by caverac: a 3D animation using this answer.

\documentclass{article}

\usepackage{animate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[active,tightpage]{preview}
\makeatletter
\def\@anim@@newframe{\@ifstar\@anim@newframe\@anim@newframe}
\def\@anim@newframe{\end{preview}\begin{preview}}
\renewenvironment{animateinline}[2][]{%
  \let\newframe\@anim@@newframe%
  \let\multiframe\@anim@multiframe%
  \begin{preview}}{%
  \end{preview}}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{tikz}
\usepgfmodule{nonlineartransformations}
\usetikzlibrary{shapes}
\usetikzlibrary{patterns}
\makeatletter
% from https://tex.stackexchange.com/q/56353/121799
\newcommand{\gettikzxy}[3]{%
  \tikz@scan@one@point\pgfutil@firstofone#1\relax
  \global\edef#2{\the\pgf@x}%
  \global\edef#3{\the\pgf@y}%
}
% from the manual section 103.4.2
% \pgf@x will contain the \xout{radius} angle
% \pgf@y will contain the distance \pgfmathsincos@{\pgf@sys@tonumber\pgf@x}%
% pgfmathresultx is now the cosine of \xout{radius} radius and 
% pgfmathresulty is the sine of radius 
% \pgf@x=\pgfmathresultx\pgf@y% 
% \pgf@y=\pgfmathresulty\pgf@y%
% what the thing in the pgf manually is probably doing it to express the x coordinate in pt
% then take the cos and sin of x/pt (i.e. if x=50pt then it will return cos(50))
% and multiply the outcome by a the y coordinate
% (x_new,y_new) = (y_old cos(x_old/pt), y_old sin(x_old/pt))
% now comes a slightly modified version
\def\marmotransformation{% modified version of the manual 103.4.2 Installing Nonlinear Transformation
\advance\pgf@x by -\xC% relative
\advance\pgf@y by -\yC% coorinates
\edef\relX{\the\pgf@x}%
\edef\relY{\the\pgf@y}% Yes, there is a more elegant solution based on \pgfpointadd
\pgfmathsetmacro{\relNx}{\xN-\xC}%
\pgfmathsetmacro{\relNy}{\yN-\yC}%
\pgfmathsetmacro{\angleN}{atan2(\relNy,\relNx)}%
\pgfmathsetmacro{\LeN}{veclen(\relNx,\relNy)}%
\pgfmathsetmacro{\myp}{(\relX*\relNx+\relY*\relNy)/(\LeN*28.3465)}
\pgfmathsetmacro{\myo}{(((\relY*\relNx-\relX*\relNy))/(\myp*\LeN*(28.3465*pi/180)))+\angleN)}
\pgfpointadd{\pgfqpoint{\xC}{\yC}}{\pgfpointpolarxy{\myo}{\myp}}
} 


\begin{document}
\begin{animateinline}[autoplay,loop]{2}
\multiframe{21}{i=0+1}{\pgfmathsetmacro{\myangle}{60-5*abs(\i-10)}
\begin{tikzpicture}[ball color=red]
%\pic[scale=2] at (-6.5,0) {Pacman=\myangle};
\begin{scope}[xshift={-(6.5-0.4*\i)*1cm},scale=2]
\fill (0,0)  to[out={1.75*\myangle},in={180-0.25*\myangle}] ({0.92*\myangle}:2)
to[out={-180+0.25*\myangle},in={1.75*\myangle},looseness=0.5] (1,0) 
to[out={-1.75*\myangle},in={180-0.25*\myangle},looseness=0.5]
({-0.92*\myangle}:2) to [out={-180+0.25*\myangle},in={-1.75*\myangle}]   cycle;
\end{scope}
%
\coordinate (C) at (0,3) {};
\gettikzxy{(C)}{\xC}{\yC}
\coordinate (N) at (0,0) {};
\gettikzxy{(N)}{\xN}{\yN}
\begin{scope}[transform shape nonlinear=true]
\pgftransformnonlinear{\marmotransformation} 
\shade[shading=ball,opacity=1] (0,0) circle (2);
\end{scope}
\draw[smooth,fill=black](-0.15,3) .. controls (-0.15,2.5) .. (0,2) to 
(0.1,2) .. controls (-0.05,2.5) .. (-0.05,3) --cycle;
%
\begin{scope}[xshift={-(6.5-0.4*\i)*1cm},scale=2]
\shadedraw[ball color=yellow,thick] 
(0,0)  to[out={1.75*\myangle},in={180-0.25*\myangle}] ({0.92*\myangle}:2)
 arc({0.92*\myangle}:{360-0.92*\myangle}:2) to [out={-180+0.25*\myangle},in={-1.75*\myangle}]
  cycle;
\fill ({0.3-0.01*\myangle},1) circle (0.3);
\end{scope}
\path[use as bounding box](-8,-2) rectangle 4,2);
\end{tikzpicture}
}
\end{animateinline}
\end{document}

enter image description here

  • Thanks! I also want to draw a Pacman that faces the opposite direction. I tried both 140:220 and 220:140, but neither works. What should I do? – user11550 Apr 28 '18 at 5:38
  • 1
    @user11550 (0,0) -- (140:2) arc(140:-140:2) -- cycle; – Ignasi Apr 28 '18 at 7:47
  • @user11550 I added a Pacman facing in opposite direction. – marmot Apr 28 '18 at 11:09
  • 2
    This looks like it belongs on the fishing channel! – Steven B. Segletes Apr 30 '18 at 10:29
  • @StevenB.Segletes Done. – marmot Jul 31 '18 at 23:05
40
\documentclass[border = 5pt, tikz]{standalone}

\usepackage{xcolor-material}

% from https://tex.stackexchange.com/questions/413389/how-to-make-a-simple-drawing-of-an-apple-using-only-the-tikz-library
\usetikzlibrary{fit}
\tikzset{%
  apple/.pic={
    \fill [MaterialBrown] (-1/8,0) 
    arc (180:120:1 and 3/2) coordinate [pos=3/5] (@)-- ++(1/6,-1/7) 
    arc (120:180:5/4 and 3/2) -- cycle;
    \fill [MaterialLightGreen500] (0,-9/10) 
    .. controls ++(180:1/8) and ++(  0:1/4) .. (-1/3,  -1)
    .. controls ++(180:1/3) and ++(270:1/2) .. (  -1,   0)
    .. controls ++( 90:1/3) and ++(180:1/3) .. (-1/2, 3/4)
    .. controls ++(  0:1/8) and ++(135:1/8) .. (   0, 4/7)
    .. controls ++( 45:1/8) and ++(180:1/8) .. ( 1/2, 3/4)
    .. controls ++(  0:1/3) and ++( 90:1/3) .. (   1,   0)
    .. controls ++(270:1/2) and ++(  0:1/3) .. ( 1/3,  -1)
    .. controls ++(180:1/4) and ++(  0:1/8) .. cycle;
    \fill [MaterialLightGreen600] (0, 4/7)
    .. controls ++( 45:1/8) and ++(180:1/8) .. ( 1/2, 3/4)
    .. controls ++(  0:1/3) and ++( 90:1/3) .. (   1,   0)
    .. controls ++(270:1/2) and ++(  0:1/3) .. ( 1/3,  -1)
    .. controls ++(180:1/4) and ++(  0:1/8) .. (   0,-9/10);
    \fill [MaterialGreen500, shift={(@)}, rotate=-30] 
    (0,0) arc (45:135:3/4 and 3/5) arc (225:315:3/4 and 3/5);
    \fill [MaterialGreen700, shift={(@)}, rotate=-30] 
    (0,0) arc (315:225:3/4 and 3/5) -- cycle;
  },  
  cherry/.pic={
    \foreach \i in {1,2}{
      \tikzset{shift={(-1+\i*3/4, -3/5+\i/5)},scale=1/2, rotate=15-\i*10}
      \fill [MaterialRed700] (0,19/20) 
      .. controls ++(180:1/8) and ++(  0:1/4) .. (-1/3,  1)
      .. controls ++(180:1/3) and ++( 90:1/2) .. (  -1,  0)
      .. controls ++(270:1/2) and ++(180:1/2) .. (   0, -1)
      .. controls ++(  0:1/2) and ++(270:1/2) .. (   1,  0)
      .. controls ++( 90:1/2) and ++(  0:1/3) .. ( 1/3,  1)
      .. controls ++(180:1/4) and ++(  0:1/8) .. cycle;
      \fill [MaterialRed800] (0, -1)
      .. controls ++(  0:1/2) and ++(270:1/2) .. (   1,  0)
      .. controls ++( 90:1/2) and ++(  0:1/3) .. ( 1/3,  1)
      .. controls ++(180:1/4) and ++(  0:1/8) .. (   0,19/20) -- cycle;
      \fill [MaterialRed900] (0,3/4) coordinate (@\i) 
      ellipse [x radius=1/4, y radius=1/8];
    }
    \fill [MaterialBrown]
    (1/4,11/8) -- (3/8,11/8) coordinate (@)
    .. controls ++(270:1/2) and ++(135:1/3) .. (@1)
    .. controls ++(135:1/2) and ++(270:1/2) .. cycle;
    \fill [MaterialBrown]
    (1/4,11/8) -- (3/8,11/8)
    .. controls ++(315:1/2) and ++(45:1/2) .. (@2)
    .. controls ++(60:1/2) and ++(315:1/2) .. cycle;
    \fill [MaterialGreen500, shift={(@)}, rotate=20] 
    (0,0) arc (45:135:3/4 and 3/5) arc (225:315:3/4 and 3/5);
    \fill [MaterialGreen700, shift={(@)}, rotate=20] 
    (0,0) arc (315:225:3/4 and 3/5) -- cycle;
  }}

\newcount\nframes
\nframes=80

\begin{document}

\foreach \n in {0,...,\nframes}{

  \begin{tikzpicture}
    \pgfmathsetmacro{\x}{10.0 * \n / \nframes}
    \pgfmathsetmacro{\angle}{5 + 25 * abs(sin(3 * 360 * (\n / \nframes)))}
    \clip (-1, -1.2) rectangle (10, 1.2);

    % food
    \begin{scope}
      \clip (\x, -1.2) rectangle (10, 1.2);
      \foreach \i in {0,...,10} {

        \ifnum\i=5 \path (8, 0) pic[scale = 0.4] {apple};
        \else \ifnum\i=8  \path (5, 0) pic[scale = 0.4] {cherry};
        \else \fill[gray, opacity = 0.3] (\i, 0) circle (0.2); 
        \fi \fi
      }
    \end{scope}


    % pacman
    \begin{scope}[xshift = \x cm]
      \draw[thick,fill = yellow]
      (0,0) -- ++ (\angle:1cm) arc (\angle:360-\angle:1cm) -- cycle;
      \fill (0,0.66) circle (1.5mm);
    \end{scope}    

  \end{tikzpicture}    
}
\end{document}

enter image description here


EDIT: Thanks to @UlrikeFischer for the suggestion :)

enter image description here

\newcommand{\interrupted}{%

  \pgfmathsetmacro{\dx}{11.0 / 7.0}
  \foreach \i/\c in {0/gray,1/yellow,2/cyan,3/green,4/magenta,5/red,6/blue} {
    \fill[\c] (\i * \dx - 1, -0.4) rectangle (\i * \dx + \dx - 1, 1.2);
  }
  \foreach \i/\c in {0/blue,1/black,2/magenta,3/black,4/cyan,5/black,6/white} {
    \fill[\c] (\i * \dx - 1, -0.6) rectangle (\i * \dx + \dx - 1, -0.4);
  }

  \pgfmathsetmacro{\dx}{11.0 / 6.0}
  \foreach \i/\c in {0/blue!40!black,1/white,2/blue,3/black,4/black!80,5/black} {
    \fill[\c] (\i * \dx - 1, -1.2) rectangle (\i * \dx + \dx - 1, -0.6);
  }
  \node[white] at (5.5, 0) {\textbf{No ducks were harmed in this test}}
}

And add this to the main loop

\pgfmathsetmacro{\switchl}{\x > 4.0}
\pgfmathsetmacro{\switchr}{\x < 6.0}
\ifnum\switchl=1 \ifnum\switchr=1
\interrupted{};
\fi\fi
  • 7
    Nice. Next step : integrate script version in a way that we can play Packman in PDF ;) – Kpym Apr 28 '18 at 9:54
  • 5
    I was worried for a minute! – Paulo Cereda Apr 28 '18 at 11:15
  • 3
    You should prove that the duck was not harmed. It could reappear after the pacman ;-) – Ulrike Fischer Apr 28 '18 at 11:27
  • 1
    A very cool animation! – Dr. Manuel Kuehner Apr 28 '18 at 13:04
  • 5
    Great answer! I created a version with reverted roles: i.stack.imgur.com/gImlU.gif – user36296 Apr 28 '18 at 13:58
19

A picture version just to impress David Carlisle ;)

\documentclass[border=7pt]{standalone}
\usepackage{color}
\begin{document}
  \setlength{\unitlength}{.5pt}
  \begin{picture}(200,200)(-100,-100)
    \qbezier(0,0)(43.5, 25)(87, 50)
    \qbezier(87, 50)(58, 100)(0, 100)
    \qbezier(0, 100)(-58, 100)(-87, 50)
    \qbezier(-87, 50)(-115, 0)(-87, -50)
    \qbezier(-87, -50)(-58, -100)(0, -100)
    \qbezier(0, -100)(58, -100)(87, -50)
    \qbezier(87, -50)(43.5, -25)(0, 0)
    \color{red}
    \put(0,67){\circle*{30}}
  \end{picture}
\end{document}

enter image description here

  • well, you impress me too! (+1) – Zarko Apr 28 '18 at 9:28
  • And me too! :):):) – CarLaTeX Apr 28 '18 at 9:38
  • 11
    +1 strike against the tikz mafia:-) – David Carlisle Apr 28 '18 at 9:38
  • @DavidCarlisle the revolution is coming 50 years after May '68 ;) – Kpym Apr 28 '18 at 9:51
15

An alternative solution with tkz-euclide, unfortunately the documentation is in French only, but there are many examples very easy to understand.

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
    \begin{tikzpicture}
        \tkzDefPoint(0,0){O}
        \tkzDefPoint(0,1){A}
        \tkzDrawSector[R,draw=black,thick,fill=yellow](O,2cm)(30,330)
        \tkzDrawCircle[R, fill=black](A,.3cm)
        \tkzDefPoint(4.5,0){O2}
        \tkzDefPoint(4.5,1){A2}
        \tkzDrawSector[R,draw=black,thick,fill=yellow](O2,2cm)(210,150)
        \tkzDrawCircle[R, fill=black](A2,.3cm)
    \end{tikzpicture}
\end{document}

enter image description here

  • nice (+1)! i'm not familiar tkz-euclide, but now see one reason more why make me more familiar with it :-) – Zarko Apr 28 '18 at 9:21
  • 4
    @Zarko Thank you! I think the package would be more popular if there was an English documentation :):):) – CarLaTeX Apr 28 '18 at 9:34
7

Ascii verbatim version.

\documentclass[preview]{standalone}
\begin{document}
\ttfamily\tiny
\begin{verbatim}


                                                `..--:::::--..`
                                         `-/+osssoo++++++++oosssso+/-`
                                     -/osso/::-------------------::+osso/.
                                 `:oyo+:-------------------------------:+syo:`
                              `:syo:----------------:/+++/-----------------/oyo-
                            .+yo:-----------------:ymNMMMNms:-----------------/sy/`
                          .oy+-------------------:mMMMMMMMMMd-------------------:oy+`
                        `oy+---------------------sMMMMMMMMMMM+---------------------oh/`
                       :ho-----------------------+MMMMMMMMMMN:----------------------:sy-
                     `oh:-------------------------omMMMMMMMm+-------------------------/h+
                    .hs----------------------------:+shhhs+----------------------------:hy
                   .do---------------------------------------------------------------:oys/`
                  .d+------------------------------------------------------------:/syo:`
                 `ho----------------------------------------------------------:+ys+-
                 oh--------------------------------------------------------/oyo:`
                .N:----------------------------------------------------:+sy+-
                ys--------------------------------------------------:oys/.
               `N:-----------------------------------------------+syo-
               /d--------------------------------------------:oys/.
               sy-----------------------------------------/syo:
               ys-------------------------------------:oyy+.
               ys--------------------------------------oyy+.
               sy-----------------------------------------/sys:`
               /d--------------------------------------------:oyy+.
               `N:-----------------------------------------------/syo:`
                ys--------------------------------------------------:oys/.
                .N:----------------------------------------------------:+syo-
                 oh--------------------------------------------------------/oys/.
                 `ho----------------------------------------------------------:+ss+-
                  .d+------------------------------------------------------------:/syo:`
                   .do---------------------------------------------------------------:oss+`
                    .hs----------------------------------------------------------------:hs
                     `oh:-------------------------------------------------------------/h+
                       :ho----------------------------------------------------------:sy-
                        `+h+-------------------------------------------------------oh/`
                          .oy+--------------------------------------------------:oy+`
                            .+yo/---------------------------------------------/sy/`
                              `:syo:---------------------------------------/oyo-
                                 `:oys+:-------------------------------:+sso:`
                                     -/osso+::-------------------:/+osso:.
                                         `-/+ossssoo+++++++oosssso+:-`
                                                `..--:::::--.``


\end{verbatim}
\end{document}

enter image description here

6

Code golfing version.

\documentclass[tikz,border=7pt]{standalone}
\begin{document}
  \tikz{\draw[thick,fill=yellow](0,0)--(30:1)arc(30:330:1)--cycle;\fill(0,2/3)circle(.15);}
\end{document}

enter image description here

4

Plain Metapost version:

prologues := 3;
outputtemplate := "%j%c.eps";
beginfig(1);
    path P; 
    P = origin -- subpath 1/2(1,15) of fullcircle scaled 42 -- cycle;
    fill P withcolor red+green; draw P;
    fill fullcircle scaled 7 shifted 14 up;
endfig;
end.

enter image description here

3

A trivial solution with PSTricks.

\documentclass[pstricks]{standalone}
\begin{document}
\pspicture(6,6)
    \pswedge[fillstyle=solid,fillcolor=yellow](3,3){3}{15}{345}
    \qdisk(3.5,4.5){.5}
\endpspicture
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.