I'm working on wedding invitations and there's a logo that identifies the braid and the broom. Originally this was taken from the internet in a low resolution and quality that ruins up the overall aspect of the invitation. I'd like to draw this complex figure using Tikz, which I show below:
As you can see, the quality of the picture isn't very high and is going to look worse when it gets printed out.
There are a couple of open flanks on which I'd need some advice, to say:
Contour of the heart:
I'd like the heart to look just like the one located on the lower right corner of the following image: http://1.bp.blogspot.com/-BDWeR0RCqfU/Tec8AcrN6MI/AAAAAAAAFDw/CsikMUj4PYI/s1600/HeartCurves_801.gif
That means plotting a parametric equation. So far, I've been trying to plot the equation, but I don't find a way to plot such a function. Here is the code I've tried
\documentclass[10pt,final]{article}
\usepackage[utf8]{inputenc}
\usepackage[paperwidth=21cm, paperheight=10.5cm, top=4mm, left=8mm, right=8mm, bottom=4mm]{geometry}
\usepackage{fontspec}
\usepackage[german]{babel}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\begin{tikzpicture}[domain=0:4]
\draw[->] (-3,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-3) -- (0,4.2) node[above] {$y$};
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
\draw[scale=0.5,domain=-3:3,smooth,variable=\x,red] plot ({2*cos(\x r)*cos(\x r)*cos(\x r)},{\x});
\end{tikzpicture}
\end{document}
The question here is how to plot the parametric function.
Branches:
I've wondering how to produce the lines representing the branches within the heart. I was considering to produce the lines using the classical control points, but I guess there must be better ways to produce them. Also, another problem that I see is to define the branches within the contour of the heart.
Leaves:
For the leaves I have a simple solution that uses the control points.
\documentclass[10pt,final]{article}
\usepackage[utf8]{inputenc}
\usepackage[paperwidth=21cm, paperheight=10.5cm, top=4mm, left=8mm, right=8mm, bottom=4mm]{geometry}
\usepackage{fontspec}
\usepackage[german]{babel}
\usepackage{tikz}
\usepackage{graphicx}
\begin{document}
\begin{tikzpicture}[domain=0:4]
\fill [green](0,0) .. controls (1,1) and (2,0.5).. (3,0);
\fill [green] (0,0) .. controls (1,-1) and (2,-0.5).. (3,0);
\draw [green](-0.5,0)--(0,0);
\end{tikzpicture}
\end{document}
I could use the @Qrrbrbirlbel's answer (Use a custom shape as a "building block") as a base to define the leave as shapes, but the problem that arises here is to place the leaves at specific point of the branches at specific angles.
Best Answer
How to convert image to
tikz
using inkscapeOpen inkscape and import the image
Select the image and use
Trace Bitmap...
If the lines are not smooth enough or too smooth, these parameters can be adjusted in the trace options.
tikz
, there exists and extension. [Be careful, the resulting file size may be huge]