# TikZ: How to make a convex lens

How can I make a convex lens with TikZ?

I tried using arcs but this doesn't look right.

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\xr}{0.35}
\pgfmathsetmacro{\yr}{2}

\draw (0, 0) coordinate (O) arc[x radius = \xr cm, y radius = \yr cm,
start angle = 90, end angle = 270];
\draw (O) arc[x radius = \xr cm, y radius = \yr cm,
start angle = 90, end angle = -90];
\end{tikzpicture}
\end{document}


I would like the arcs to meet at a sharp corner not rounded.

-
Slightly related question: tex.stackexchange.com/questions/33460/tikz-library-for-optics (Edit: It doesn't exactly answer your question, I just added it for reference.) – Torbjørn T. May 27 '14 at 19:54
Depending on where you're heading, you might want to have a look at pst-optexp. – Christoph May 28 '14 at 12:34

Here is one suggestion:

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\lensHeight}{1}

\end{tikzpicture}
\end{document}


Slightly modified, for filling, and better line ends:

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro{\lensHeight}{1}

\draw [fill=blue!15]  (0,\lensHeight)
-- cycle; % to get a better line end
\end{tikzpicture}
\end{document}


-
What is/does the delta angle option do? – dustin May 27 '14 at 19:49
@dustin It is the difference between the start and the end angle. So it creates an arc that spans delta angle degrees. – Torbjørn T. May 27 '14 at 19:51
Is the lack of the closing ) in asin(… on purpose? – Henri Menke May 27 '14 at 21:42
@HenriMenke No, that is what you'd call a mistake. Thanks. Still worked though ... – Torbjørn T. May 27 '14 at 21:51

\documentclass[tikz]{standalone}
\begin{document}

\begin{tikzpicture}

\draw[line join=round,fill=blue!15] (0,0) arc (-30:30:2 and 3) arc (150:210:2 and 3) ;

\end{tikzpicture}
\end{document}

-

From my previous TiKz studying:

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[fill=orange]
([shift={(-40:1cm)}]0,0) arc (-40:40:1cm);
\draw[fill=orange,rotate=180]
([shift={(-40:1cm)}]-1.535,0) arc (-40:40:1cm);
\end{tikzpicture}
\end{document}


-

Just draw two lines:

\documentclass[tikz]{standalone}
\begin{document}

\begin{tikzpicture}
\draw[fill=blue!15] (0,2) to[in=130,out=230] (0,-2) to[in=-50,out=50] (0,2) -- cycle;

\end{tikzpicture}
\end{document}


-