1

enter image description here

I need to draw this image using TikZ.

closed as too broad by Werner, Raaja, egreg, JouleV, siracusa Mar 9 at 4:40

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    Welcome to TeX.se. I've changed your Portuguese request to English, which is the language of the site. But questions which just post an image and ask people to draw it for you are really not the best way to ask a question. Much of this diagram is quite simple, so can you edit your question to include a minimal document that shows at least some of what you've tried. Then we could help you with what you're having trouble with. – Alan Munn Mar 8 at 19:10
8

Here is a way to build this figure that uses several key concepts from TikZ:

  • the scope
  • clip
  • the use of the intersections library
  • the use of node to place text.
  • sloped to write text tangent to a path

Their use is explained in the written comments in the code.

screenshot

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document}

\begin{tikzpicture}
% This scope allows you to draw the part of the circle inside the rectangle. The outer part is cut off.
\begin{scope}% use of intersections library to define the intersections between circle and rectangle
\draw[name path global=cadre,clip] (0,0) rectangle (3.5,4.5);
\draw[name path global=cercle] (3.5,0)circle(4.6cm);
\end{scope}

% draw both sides of the angular sector
\draw[name intersections={of=cercle and cadre}](intersection-2)--(3.5,0)--(intersection-1)node[above right,midway]{h};

% sloped allow to write text tangent to the path
\path[above] (intersection-1)to[bend left=15]node[sloped]{$c(h)$}(intersection-2);

% dimension of rectangle wrtien in 2 differents way
\draw [<->](4.2,0)--node[right]{q}(4.2,4.5);
\draw [<->](0,-.6)--(3.5,-.6)node[below,midway]{p};
\end{tikzpicture}

\end{document}
8

Using a local bounding box saves us from a lot of hassle here.

\documentclass[border=3.14mm,tikz]{standalone}
\begin{document}
  \begin{tikzpicture}
   \node[fill,inner sep=1.5pt,circle] (O) at (0,0){};
   \begin{scope}[local bounding box=box]
    \draw (O.center) -- (100:4) arc(100:140:4) node[pos=0.7,above,sloped,inner
    xsep=0pt] {$c(h)$}
    -- node[midway,below] {$h$} cycle;
   \end{scope}  
   \draw (box.south west) rectangle (box.north east);
   \draw[|-|] (1,0|-box.south) -- (1,0|-box.north)node[midway,fill=white]{$p$};
   \draw[|-|] (0,-1 -|box.west) -- (0,-1 -|box.east)node[midway,fill=white]{$q$};
  \end{tikzpicture}
\end{document}

enter image description here

  • +1 for the use of the local bounding box. You can simplify the drawing of the lengths p and q : \draw[|-|] (1,0)node{a} -- (1,0|-box.north)node[midway,fill=white]{$p$}; \draw[|-|] (0,-1 -|box.west) -- (0,-1)node[midway,fill=white]{$q$}; – AndréC Mar 8 at 20:33
7

A PSTricks solution just for fun.

\documentclass[pstricks,12pt]{standalone}
\usepackage{pst-eucl}
\begin{document}
\begin{pspicture}[arrowinset=0](-5,-1)(1,5.5)
    \pstGeonode[PointSymbol=none,PosAngle=-45](0,0){S}
    \pnodes(5;150){A}(5;100){B}
    \pswedge(S){5}{(B)}{(A)}
    \psframe(A|S)(S|B)
    \rput{0}(5.4;130){$c(h)$}
    \pcline(A)(S)\ncput*{$h$}
    \pcline[offset=-.5]{|<->|}(A|S)(S)\ncput*{$p$}
    \pcline[offset=.5]{|<->|}(S|B)(S)\ncput*{$q$}
\end{pspicture}
\end{document}

enter image description here

3

Here you go :)

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1,line width=0.75pt]
    \draw   (46.5,25) -- (145.5,25) -- (145.5,156.33) -- (46.5,156.33) -- cycle ;
    \draw    (46.5,176.33) -- (145.5,176.33) ;
    \draw [shift={(145.5,176.33)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.75]    (0,5.59) -- (0,-5.59)(10.93,-4.9) .. controls (6.95,-2.3) and (3.31,-0.67) .. (0,0) .. controls (3.31,0.67) and (6.95,2.3) .. (10.93,4.9)   ;
    \draw [shift={(46.5,176.33)}, rotate = 0] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.75]    (0,5.59) -- (0,-5.59)(10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29)   ;
    \draw    (165.5,156.33) -- (165.5,25) ;
    \draw [shift={(165.5,25)}, rotate = 450] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.75]    (0,5.59) -- (0,-5.59)(10.93,-4.9) .. controls (6.95,-2.3) and (3.31,-0.67) .. (0,0) .. controls (3.31,0.67) and (6.95,2.3) .. (10.93,4.9)   ;
    \draw [shift={(165.5,156.33)}, rotate = 270] [color={rgb, 255:red, 0; green, 0; blue, 0 }  ][line width=0.75]    (0,5.59) -- (0,-5.59)(10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29)   ;
    \draw    (46.88,52.66) -- (145.5,156.33) ;
    \draw    (117.77,25) -- (145.5,156.33) ;
    \draw  [draw opacity=0] (46.88,52.66) .. controls (65.27,35.5) and (89.95,25) .. (117.08,25) .. controls (117.31,25) and (117.54,25) .. (117.77,25) -- (117.08,127.92) -- cycle ; \draw   (46.88,52.66) .. controls (65.27,35.5) and (89.95,25) .. (117.08,25) .. controls (117.31,25) and (117.54,25) .. (117.77,25) ;

    % Text Nodes
    \draw (99,163) node  [align=left] {$\displaystyle p$};
    \draw (174,91) node  [align=left] {$\displaystyle q$};
    \draw (101,96) node  [align=left] {$\displaystyle h$};
    \draw (153,160) node  [align=left] {$\displaystyle s$};
    \draw (82,40) node [scale=0.8] [align=left] {$\displaystyle c( h)$};
    \end{tikzpicture}
\end{document}

enter image description here

  • 2
    As always here -- please make your code snippet compilable, then we do not have to guess what you are doing with documentclass, used packages etc. – Kurt Mar 8 at 19:45
  • 1
    And do you really want to set a style for every picture? This will affect all other tikzpictures, which is probably not desirable. – Alan Munn Mar 8 at 19:45
  • It's compilable now @Kurt, enjoy :) You can change document class if you like. Any should work, really... And only one package. – Superuser27 Mar 8 at 20:00
  • @AlanMunn you're right, thanks. Fixed it. – Superuser27 Mar 8 at 20:02
  • @Superuser27: your code is from Geogebra, right? – Black Mild Mar 9 at 13:55

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