Circles touching path
up vote
5
down vote
favorite
That is what I have so far:
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
usetikzlibrary{intersections,decorations}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
draw[gray] (A) circle (.3);
draw[gray] (B) circle (.375) node[black,anchor=north] {$x_0$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[gray] (C) circle (.3);
node[blue,anchor=south west] at (D) {$S$};
end{tikzpicture}
end{document}
which looks like

Now, I want to add two dashed lines at each side of S going from the beginning and end of S touching the circles exactly such that each circle stays within.
Something like:

tikz-pgf
add a comment |
up vote
5
down vote
favorite
That is what I have so far:
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
usetikzlibrary{intersections,decorations}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
draw[gray] (A) circle (.3);
draw[gray] (B) circle (.375) node[black,anchor=north] {$x_0$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[gray] (C) circle (.3);
node[blue,anchor=south west] at (D) {$S$};
end{tikzpicture}
end{document}
which looks like

Now, I want to add two dashed lines at each side of S going from the beginning and end of S touching the circles exactly such that each circle stays within.
Something like:

tikz-pgf
There is abegin{document}missing,graphicblueis not a color defined in your MWE and you might want to reword the question such that it becomes clearer.
– marmot
9 hours ago
add a comment |
up vote
5
down vote
favorite
up vote
5
down vote
favorite
That is what I have so far:
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
usetikzlibrary{intersections,decorations}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
draw[gray] (A) circle (.3);
draw[gray] (B) circle (.375) node[black,anchor=north] {$x_0$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[gray] (C) circle (.3);
node[blue,anchor=south west] at (D) {$S$};
end{tikzpicture}
end{document}
which looks like

Now, I want to add two dashed lines at each side of S going from the beginning and end of S touching the circles exactly such that each circle stays within.
Something like:

tikz-pgf
That is what I have so far:
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
usetikzlibrary{intersections,decorations}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
draw[gray] (A) circle (.3);
draw[gray] (B) circle (.375) node[black,anchor=north] {$x_0$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[gray] (C) circle (.3);
node[blue,anchor=south west] at (D) {$S$};
end{tikzpicture}
end{document}
which looks like

Now, I want to add two dashed lines at each side of S going from the beginning and end of S touching the circles exactly such that each circle stays within.
Something like:

tikz-pgf
tikz-pgf
edited 9 hours ago
asked 10 hours ago
YoungMath
585
585
There is abegin{document}missing,graphicblueis not a color defined in your MWE and you might want to reword the question such that it becomes clearer.
– marmot
9 hours ago
add a comment |
There is abegin{document}missing,graphicblueis not a color defined in your MWE and you might want to reword the question such that it becomes clearer.
– marmot
9 hours ago
There is a
begin{document} missing, graphicblue is not a color defined in your MWE and you might want to reword the question such that it becomes clearer.– marmot
9 hours ago
There is a
begin{document} missing, graphicblue is not a color defined in your MWE and you might want to reword the question such that it becomes clearer.– marmot
9 hours ago
add a comment |
2 Answers
2
active
oldest
votes
up vote
3
down vote
UPDATE: Using tangents, see e.g. this nice answer.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) coordinate(start) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)
coordinate(end);
% see https://tex.stackexchange.com/a/76226/121799
pgfmathsetmacro{rsmall}{0.6}
pgfmathsetmacro{rbig}{0.75}
node [draw=gray,circle,minimum size=rsmall*1cm] (cA) at (A){};
node [draw=gray,circle,minimum size=rbig*1cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=rsmall*1cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
begin{scope}[overlay] % see https://tex.stackexchange.com/a/76226/121799
coordinate (cAB) at (barycentric cs:B=-rsmall,A=rbig);
coordinate (cCB) at (barycentric cs:B=-rsmall,C=rbig);
end{scope}
foreach Y in {1,2}
{foreach X in {A,C}
{path (tangent cs:node=cX,point={(cX B)},solution=Y) coordinate(pBX-Y)
(tangent cs:node=cB,point={(cX B)},solution=Y) coordinate(pX B-Y);}
path (tangent cs:node=cA,point={(start)},solution=Y) coordinate(pstartA-Y)
(tangent cs:node=cC,point={(end)},solution=Y) coordinate(pendC-Y); }
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-2) (pBA-2) (pAB-2) (pCB-1) (pBC-1)
(pendC-1) (end)};
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-1) (pBA-1) (pAB-1) (pCB-2) (pBC-2)
(pendC-2) (end)};
end{tikzpicture}
end{document}

OLDER ANSWER: You started drawing this with Bezier curves (which I may not necessarily have done), so perhaps the best way is to continue this strategy. Yet I think it helps to make the circles nodes such that you can easily access the points on their peripheries.
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
node [draw=gray,circle,minimum size=0.6cm] (cA) at (A){};
node [draw=gray,circle,minimum size=0.75cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=0.6cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
draw[red,dashed] (-1.1,0.5) to[out=-20,in=190] (cA.110)
to[out=10,in=170] (cB.90) to[out=-10,in=170] (cC.80) to[out=-10,in=150] (1.1,-.6);
draw[red,dashed] (-1.1,0.5) to[out=-50,in=150] (cA.250)
to[out=-20,in=180] (cB.270) to[out=00,in=190] (cC.280) to[out=10,in=180] (1.1,-.6);
end{tikzpicture}
end{document}

add a comment |
up vote
1
down vote
An empirical solution:

documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thin,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5)coordinate(s1) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) node[black,below]{$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)coordinate(s2);
draw (A) node[draw,minimum size=0.52cm,circle] (C1){};
draw (B) node[draw,minimum size=0.65cm,circle] (C2){};
draw (C) node[draw,minimum size=0.52cm,circle] (C3){};
node[blue,anchor=south west] at (D) {$S$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[dashed,smooth, tension=0.5] plot coordinates{(s1) (C1.87) (C2.85) (C3.60) (s2)};
draw[dashed,smooth, tension=0.5] plot coordinates{(s2) (C3.267) (C2.270) (C1.240) (s1)};
end{tikzpicture}
end{document}
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
UPDATE: Using tangents, see e.g. this nice answer.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) coordinate(start) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)
coordinate(end);
% see https://tex.stackexchange.com/a/76226/121799
pgfmathsetmacro{rsmall}{0.6}
pgfmathsetmacro{rbig}{0.75}
node [draw=gray,circle,minimum size=rsmall*1cm] (cA) at (A){};
node [draw=gray,circle,minimum size=rbig*1cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=rsmall*1cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
begin{scope}[overlay] % see https://tex.stackexchange.com/a/76226/121799
coordinate (cAB) at (barycentric cs:B=-rsmall,A=rbig);
coordinate (cCB) at (barycentric cs:B=-rsmall,C=rbig);
end{scope}
foreach Y in {1,2}
{foreach X in {A,C}
{path (tangent cs:node=cX,point={(cX B)},solution=Y) coordinate(pBX-Y)
(tangent cs:node=cB,point={(cX B)},solution=Y) coordinate(pX B-Y);}
path (tangent cs:node=cA,point={(start)},solution=Y) coordinate(pstartA-Y)
(tangent cs:node=cC,point={(end)},solution=Y) coordinate(pendC-Y); }
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-2) (pBA-2) (pAB-2) (pCB-1) (pBC-1)
(pendC-1) (end)};
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-1) (pBA-1) (pAB-1) (pCB-2) (pBC-2)
(pendC-2) (end)};
end{tikzpicture}
end{document}

OLDER ANSWER: You started drawing this with Bezier curves (which I may not necessarily have done), so perhaps the best way is to continue this strategy. Yet I think it helps to make the circles nodes such that you can easily access the points on their peripheries.
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
node [draw=gray,circle,minimum size=0.6cm] (cA) at (A){};
node [draw=gray,circle,minimum size=0.75cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=0.6cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
draw[red,dashed] (-1.1,0.5) to[out=-20,in=190] (cA.110)
to[out=10,in=170] (cB.90) to[out=-10,in=170] (cC.80) to[out=-10,in=150] (1.1,-.6);
draw[red,dashed] (-1.1,0.5) to[out=-50,in=150] (cA.250)
to[out=-20,in=180] (cB.270) to[out=00,in=190] (cC.280) to[out=10,in=180] (1.1,-.6);
end{tikzpicture}
end{document}

add a comment |
up vote
3
down vote
UPDATE: Using tangents, see e.g. this nice answer.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) coordinate(start) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)
coordinate(end);
% see https://tex.stackexchange.com/a/76226/121799
pgfmathsetmacro{rsmall}{0.6}
pgfmathsetmacro{rbig}{0.75}
node [draw=gray,circle,minimum size=rsmall*1cm] (cA) at (A){};
node [draw=gray,circle,minimum size=rbig*1cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=rsmall*1cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
begin{scope}[overlay] % see https://tex.stackexchange.com/a/76226/121799
coordinate (cAB) at (barycentric cs:B=-rsmall,A=rbig);
coordinate (cCB) at (barycentric cs:B=-rsmall,C=rbig);
end{scope}
foreach Y in {1,2}
{foreach X in {A,C}
{path (tangent cs:node=cX,point={(cX B)},solution=Y) coordinate(pBX-Y)
(tangent cs:node=cB,point={(cX B)},solution=Y) coordinate(pX B-Y);}
path (tangent cs:node=cA,point={(start)},solution=Y) coordinate(pstartA-Y)
(tangent cs:node=cC,point={(end)},solution=Y) coordinate(pendC-Y); }
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-2) (pBA-2) (pAB-2) (pCB-1) (pBC-1)
(pendC-1) (end)};
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-1) (pBA-1) (pAB-1) (pCB-2) (pBC-2)
(pendC-2) (end)};
end{tikzpicture}
end{document}

OLDER ANSWER: You started drawing this with Bezier curves (which I may not necessarily have done), so perhaps the best way is to continue this strategy. Yet I think it helps to make the circles nodes such that you can easily access the points on their peripheries.
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
node [draw=gray,circle,minimum size=0.6cm] (cA) at (A){};
node [draw=gray,circle,minimum size=0.75cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=0.6cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
draw[red,dashed] (-1.1,0.5) to[out=-20,in=190] (cA.110)
to[out=10,in=170] (cB.90) to[out=-10,in=170] (cC.80) to[out=-10,in=150] (1.1,-.6);
draw[red,dashed] (-1.1,0.5) to[out=-50,in=150] (cA.250)
to[out=-20,in=180] (cB.270) to[out=00,in=190] (cC.280) to[out=10,in=180] (1.1,-.6);
end{tikzpicture}
end{document}

add a comment |
up vote
3
down vote
up vote
3
down vote
UPDATE: Using tangents, see e.g. this nice answer.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) coordinate(start) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)
coordinate(end);
% see https://tex.stackexchange.com/a/76226/121799
pgfmathsetmacro{rsmall}{0.6}
pgfmathsetmacro{rbig}{0.75}
node [draw=gray,circle,minimum size=rsmall*1cm] (cA) at (A){};
node [draw=gray,circle,minimum size=rbig*1cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=rsmall*1cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
begin{scope}[overlay] % see https://tex.stackexchange.com/a/76226/121799
coordinate (cAB) at (barycentric cs:B=-rsmall,A=rbig);
coordinate (cCB) at (barycentric cs:B=-rsmall,C=rbig);
end{scope}
foreach Y in {1,2}
{foreach X in {A,C}
{path (tangent cs:node=cX,point={(cX B)},solution=Y) coordinate(pBX-Y)
(tangent cs:node=cB,point={(cX B)},solution=Y) coordinate(pX B-Y);}
path (tangent cs:node=cA,point={(start)},solution=Y) coordinate(pstartA-Y)
(tangent cs:node=cC,point={(end)},solution=Y) coordinate(pendC-Y); }
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-2) (pBA-2) (pAB-2) (pCB-1) (pBC-1)
(pendC-1) (end)};
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-1) (pBA-1) (pAB-1) (pCB-2) (pBC-2)
(pendC-2) (end)};
end{tikzpicture}
end{document}

OLDER ANSWER: You started drawing this with Bezier curves (which I may not necessarily have done), so perhaps the best way is to continue this strategy. Yet I think it helps to make the circles nodes such that you can easily access the points on their peripheries.
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
node [draw=gray,circle,minimum size=0.6cm] (cA) at (A){};
node [draw=gray,circle,minimum size=0.75cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=0.6cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
draw[red,dashed] (-1.1,0.5) to[out=-20,in=190] (cA.110)
to[out=10,in=170] (cB.90) to[out=-10,in=170] (cC.80) to[out=-10,in=150] (1.1,-.6);
draw[red,dashed] (-1.1,0.5) to[out=-50,in=150] (cA.250)
to[out=-20,in=180] (cB.270) to[out=00,in=190] (cC.280) to[out=10,in=180] (1.1,-.6);
end{tikzpicture}
end{document}

UPDATE: Using tangents, see e.g. this nice answer.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{calc}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) coordinate(start) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)
coordinate(end);
% see https://tex.stackexchange.com/a/76226/121799
pgfmathsetmacro{rsmall}{0.6}
pgfmathsetmacro{rbig}{0.75}
node [draw=gray,circle,minimum size=rsmall*1cm] (cA) at (A){};
node [draw=gray,circle,minimum size=rbig*1cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=rsmall*1cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
begin{scope}[overlay] % see https://tex.stackexchange.com/a/76226/121799
coordinate (cAB) at (barycentric cs:B=-rsmall,A=rbig);
coordinate (cCB) at (barycentric cs:B=-rsmall,C=rbig);
end{scope}
foreach Y in {1,2}
{foreach X in {A,C}
{path (tangent cs:node=cX,point={(cX B)},solution=Y) coordinate(pBX-Y)
(tangent cs:node=cB,point={(cX B)},solution=Y) coordinate(pX B-Y);}
path (tangent cs:node=cA,point={(start)},solution=Y) coordinate(pstartA-Y)
(tangent cs:node=cC,point={(end)},solution=Y) coordinate(pendC-Y); }
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-2) (pBA-2) (pAB-2) (pCB-1) (pBC-1)
(pendC-1) (end)};
draw[red,dashed] plot[smooth] coordinates {(start) (pstartA-1) (pBA-1) (pAB-1) (pCB-2) (pBC-2)
(pendC-2) (end)};
end{tikzpicture}
end{document}

OLDER ANSWER: You started drawing this with Bezier curves (which I may not necessarily have done), so perhaps the best way is to continue this strategy. Yet I think it helps to make the circles nodes such that you can easily access the points on their peripheries.
documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thick,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5) .. controls (-.5,-.2) and (.5,0) ..
coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B)
node[black,anchor=north] {$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6);
node [draw=gray,circle,minimum size=0.6cm] (cA) at (A){};
node [draw=gray,circle,minimum size=0.75cm] (cB) at (B){};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
node [draw=gray,circle,minimum size=0.6cm] (cC) at (C){};
node[blue,anchor=south west] at (D) {$S$};
draw[red,dashed] (-1.1,0.5) to[out=-20,in=190] (cA.110)
to[out=10,in=170] (cB.90) to[out=-10,in=170] (cC.80) to[out=-10,in=150] (1.1,-.6);
draw[red,dashed] (-1.1,0.5) to[out=-50,in=150] (cA.250)
to[out=-20,in=180] (cB.270) to[out=00,in=190] (cC.280) to[out=10,in=180] (1.1,-.6);
end{tikzpicture}
end{document}

edited 7 hours ago
answered 9 hours ago
marmot
78.5k487166
78.5k487166
add a comment |
add a comment |
up vote
1
down vote
An empirical solution:

documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thin,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5)coordinate(s1) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) node[black,below]{$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)coordinate(s2);
draw (A) node[draw,minimum size=0.52cm,circle] (C1){};
draw (B) node[draw,minimum size=0.65cm,circle] (C2){};
draw (C) node[draw,minimum size=0.52cm,circle] (C3){};
node[blue,anchor=south west] at (D) {$S$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[dashed,smooth, tension=0.5] plot coordinates{(s1) (C1.87) (C2.85) (C3.60) (s2)};
draw[dashed,smooth, tension=0.5] plot coordinates{(s2) (C3.267) (C2.270) (C1.240) (s1)};
end{tikzpicture}
end{document}
add a comment |
up vote
1
down vote
An empirical solution:

documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thin,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5)coordinate(s1) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) node[black,below]{$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)coordinate(s2);
draw (A) node[draw,minimum size=0.52cm,circle] (C1){};
draw (B) node[draw,minimum size=0.65cm,circle] (C2){};
draw (C) node[draw,minimum size=0.52cm,circle] (C3){};
node[blue,anchor=south west] at (D) {$S$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[dashed,smooth, tension=0.5] plot coordinates{(s1) (C1.87) (C2.85) (C3.60) (s2)};
draw[dashed,smooth, tension=0.5] plot coordinates{(s2) (C3.267) (C2.270) (C1.240) (s1)};
end{tikzpicture}
end{document}
add a comment |
up vote
1
down vote
up vote
1
down vote
An empirical solution:

documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thin,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5)coordinate(s1) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) node[black,below]{$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)coordinate(s2);
draw (A) node[draw,minimum size=0.52cm,circle] (C1){};
draw (B) node[draw,minimum size=0.65cm,circle] (C2){};
draw (C) node[draw,minimum size=0.52cm,circle] (C3){};
node[blue,anchor=south west] at (D) {$S$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[dashed,smooth, tension=0.5] plot coordinates{(s1) (C1.87) (C2.85) (C3.60) (s2)};
draw[dashed,smooth, tension=0.5] plot coordinates{(s2) (C3.267) (C2.270) (C1.240) (s1)};
end{tikzpicture}
end{document}
An empirical solution:

documentclass[tikz,border=3.14mm]{standalone}
begin{document}
begin{tikzpicture}[thin,
dot/.style = {
draw,
fill = black,
circle,
inner sep = 0pt,
minimum size = 2pt
}]
draw[smooth cycle, tension=0.6] plot coordinates{(-1,-.4) (1.1,-.6) (.9,.5) (-1.1,.5)} node at (1,.6) {$Omega$};
draw[blue] (-1.1,.5)coordinate(s1) .. controls (-.5,-.2) and (.5,0) .. coordinate[dot,pos=0.3,black] (A) coordinate[dot,pos=0.5,black] (B) node[black,below]{$x_0$} coordinate[dot,pos=0.7,black] (C) coordinate[pos=0.92,black] (D) (1.1,-.6)coordinate(s2);
draw (A) node[draw,minimum size=0.52cm,circle] (C1){};
draw (B) node[draw,minimum size=0.65cm,circle] (C2){};
draw (C) node[draw,minimum size=0.52cm,circle] (C3){};
node[blue,anchor=south west] at (D) {$S$};
node[anchor=south,gray] at ([yshift=10]B) {$gamma(bar{D})$};
draw[dashed,smooth, tension=0.5] plot coordinates{(s1) (C1.87) (C2.85) (C3.60) (s2)};
draw[dashed,smooth, tension=0.5] plot coordinates{(s2) (C3.267) (C2.270) (C1.240) (s1)};
end{tikzpicture}
end{document}
answered 6 hours ago
nidhin
1,927922
1,927922
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f462004%2fcircles-touching-path%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
There is a
begin{document}missing,graphicblueis not a color defined in your MWE and you might want to reword the question such that it becomes clearer.– marmot
9 hours ago