\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{newtx}
\usepackage{tikz}
\usetheme{Warsaw}
\usetikzlibrary{intersections,calc}


\begin{document}

\begin{frame}{Prosta prostopadła}
\begin{center}
\begin{tikzpicture}[scale=1.5]
\uncover<+->{
\draw[name path=l, thick] (0,4) -- (4,1);
\coordinate (P) at (2,2.5);
\fill (P) circle (1.5pt);
\node at (P) [below=3pt] {$P$};}
\uncover<+->{
\draw[name path=o, dashed] (P) circle (1cm);
\fill [name intersections={of=l and o, name=Q}]
  \foreach \i in {1,2} {(Q-\i) circle (1.5pt)};}
\uncover<+->{
\draw[name path=o1, dashed] (Q-1) circle (1.3cm);
\draw[name path=o2, dashed] (Q-2) circle (1.3cm);
\fill [name intersections={of=o1 and o2, name=R}]
  \foreach \i in {1,2} {(R-\i) circle (1.5pt)};}
\uncover<+->{
\draw[thick] (P) -- ++($ (R-2) - (R-1) $);
\draw[thick] (P) -- ++($ (R-1) - (R-2) $);}
\end{tikzpicture}
\end{center}
\end{frame}

\end{document}