# Drawing an arc between 2 nodes with a specific radius

Edit: At the request of OP, addition of some mathematical elements

According to my calculs and if I understood your question correctly, this arc of circle starts at an angle of 180+asin(3/5) and ends at 180-asin(3/5).

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\begin{tikzpicture}[scale=2]
\node [thin, black] (0,0) (oscnd){}
([shift={(180.:.3)}]oscnd.center) node (oscndl){}
([shift={(90.:.3)}]oscndl.center) node (oscndlu){} node{\textcolor{red} x}
([shift={(180.:1.)}]oscndlu.center) node (oscndlul){}
([shift={(-90.:.3)}]oscndl.center) node (oscndld){} node{\textcolor{red}z}
([shift={(180.:1.)}]oscndld.center) node (oscndldl){}
;
\draw[thick,  green, fill=green!40!white, opacity=.4] (oscndldl.center) -- (oscndld.center) arc (-180+asin(3/5):180-asin(3/5):.5cm) -- (oscndlu.center) -- (oscndlul.center);
\end{tikzpicture}
\end{frame}
\end{document}


## Some elements of geometry:

In a rectangular triangle with a hypotenuse of length 1 unit, the sinus of an acute angle is the length of the opposite side. Here the sinus of the angle AOB (alpha) is the length of the side AB.

A circle with a radius of 1 unit is called a trigonometric circle. The circle below has a radius of 1 unit. The sine of 140° is equal to the sine of 40°. since the segments colored blue have the same length.

For each angle between 90° and 180° corresponds a single length, a single sinus. Thus, requiring that a length be equal to the sinus is equivalent to imposing an alpha angle measurement.

On your figure, the sinus is equal to 0.3 [shift={(90.:.3)}] and the hypotenuse is equal to 0.5 arc (-160:160:.5cm).

Which imposes an angle such as I calculated it. If you want to change this angle, you must either change the sine : [shift={(90.:.3)}] or change the hypotenuse, i. e. the radius of the circle arc (-160:160:.5cm)

## Some additional explanation on the solution (at the request of the OP):

Since the radius of the trigonometric circle is equal to 1 unit, then the sine is smaller than 1. The sinus functions sin() and arcsine asin() are called reciprocal.

The sine function, as its name suggests, when the angle is between 0° and 90°, gives the length of the opposite side AB of the angle AOB in the triangle AOB, for example sin(20)=0,342...

The arcsine function does "the opposite", i. e. from a given length (smaller than 1 unit) gives the corresponding angle.

Since 0.5 is the hypotenuse (radius of the circle) is half of 1 unit, the corresponding sinus is twice as much as 0.3, i.e. 0.6.

This sinus is found directly by dividing 0.3/0.5=0.6 (which is equivalent to 3/5=0.6). Thus the formula calculates the angle whose sinus is equal to 0.3 and the hypotenuse is equal to 0.5

This angle (you can calculate it with the calculator installed on your computer) is around 36.87...° asin(3/5)=36,869897645844021296855612559093...°

I add this angle at 180 to get the starting angle of the arc to be drawn and I remove it at 180° to get its terminal angle. I could very well have (and I am correcting my solution) written arc (-180+asin(3/5):180-asin(3/5):.5cm).

Translated with www.DeepL.com/Translator

Just for fun and learning... an implementation to create the shapes depending on the values of line width, line longitude, circle termination radio, condition line_width<=termination_radio; extended to the red shape in two drawing definitions. decorations.fractals is used for the right termination in the red shape.

RESULT:

MWE:

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{decorations.fractals}
\begin{document}
\begin{tikzpicture}[]

\def\GreenShape(#1)[#2][#3][#4]
{%1: Position 2: Line width 3:Line Longitude 4: Circle termination radio
\pgfmathparse{asin(0.5*#2/#4)}
\edef\Theta{\pgfmathresult}
\draw[
fill=green!50!black,
transform canvas={shift={(2pt,-3pt)}},
fill=gray,
fill opacity=0.4,
}
](#1) |- ++(#3,0.5*#2) arc (180-\Theta:\Theta-180:#4) -| cycle;
\path(#1)-- ++(#3,0.5*#2)++(-\Theta:#4) coordinate (A);
\shade[inner color=yellow, outer color=green!50!black](A) circle (0.8*#4);
\shade[inner color=yellow, outer color=green!50!black](A) circle (0.5*#4);
}

%For the red shape:
\def\RedShape(#1)[#2][#3][#4]
{%1: Position 2: Line width 3:Line Longitude 4: Circle termination size
\draw[
decoration=Koch snowflake,
fill=red,
thick,
transform canvas={shift={(2pt,-3pt)}},
fill=gray,
fill opacity=0.4,
}
]
(#1)++(#4,-0.5*#2) coordinate (init)
.. controls +(-180:0.5) and +(-45:0.1) .. ++(-#4*1.5,-0.5*#2)
.. controls +(135:0.1) and +(-90:0.2) .. ++(#4*0.5,#2)
.. controls +(90:0.2) and +(-135:0.1) .. ++(-#4*0.5,#2)
.. controls +(45:0.1) and +(-180:0.5) .. ++(#4*1.5,-0.5*#2)
-- ++(0.4*#3,0)
.. controls +(90:0.5) and +(-90:0.5) .. ++(-#4+0.25*#2,#4+0.7) coordinate (ball)
arc (180:0:#4)
.. controls +(-90:0.5) and +(90:0.5) .. ++(-#4+0.25*#2,-#4-0.7)
-- ++(0.6*#3,0)
decorate{decorate{--++(#4*1.5,0.5*#2) -- ++(0,-#2*2) --++(-#4*1.5,+0.5*#2)}}
-- (init)
;
\path (ball)++(#4,0) coordinate (B);
\shade[inner color=yellow, outer color=red!70!black](B) circle (0.5*#4);
}

%Start drawing the thing
\GreenShape(0,0)[0.5][1][0.5]
\RedShape(2.1,0)[0.5][6][0.5]
\end{tikzpicture}
\end{document}