%% Visual review of straight and circular ramp anchors in both directions.
%% The numbered points and tables are generated by the public show anchors key.
\documentclass{article}
\usepackage[paperwidth=22cm,paperheight=13cm,margin=8mm]{geometry}
\usepackage{tikzphysics}
\pagestyle{empty}

\newcommand{\rampanchorpage}[4]{%
  \noindent\textbf{#1}\quad\small 0 = start, 50 = midpoint, 100 = end\par\smallskip
  \begin{center}\begin{tikzpicture}
    \node[#2,show anchors,
      physics debug/anchor list={#3},
      physics debug/anchor families={#4},
      physics debug/anchor samples={0,25,50,75,100}] (R) {};
  \end{tikzpicture}\end{center}
  \clearpage
}
\newcommand{\rampboundarypage}[3]{%
  \noindent\textbf{#1}\quad\small 0 = start, 50 = midpoint, 100 = end\par\smallskip
  \begin{center}\begin{tikzpicture}
    \node[#2,show anchors,
      physics debug/anchor list={},
      physics debug/anchor families={#3},
      physics debug/anchor samples={0,50,100}] (R) {};
  \end{tikzpicture}\end{center}
  \clearpage
}

\begin{document}
\rampanchorpage{Straight ramp right: body and contact}%
  {ramp,minimum width=8.6cm,ramp run=2.6cm,ramp rise=1.5cm}%
  {center,surface-start,surface-mid,surface-end,floor-mid,ramp-foot,ramp-mid,ramp-top,wall-top,wall-mid,base-start,base-end}%
  {surface}
\rampanchorpage{Straight ramp left: body and contact}%
  {ramp-left,minimum width=8.6cm,ramp run=2.6cm,ramp rise=1.5cm}%
  {center,surface-start,surface-mid,surface-end,floor-mid,ramp-foot,ramp-mid,ramp-top,wall-top,wall-mid,base-start,base-end}%
  {surface}
\rampboundarypage{Straight ramp right: every boundary}%
  {ramp,minimum width=8.6cm,ramp run=2.6cm,ramp rise=1.5cm}%
  {floor,incline,wall-surface,wall-back,wall-tip,base,end}
\rampboundarypage{Straight ramp left: every boundary}%
  {ramp-left,minimum width=8.6cm,ramp run=2.6cm,ramp rise=1.5cm}%
  {floor,incline,wall-surface,wall-back,wall-tip,base,end}
\rampanchorpage{Straight ramp: wall taller than incline}%
  {ramp,minimum width=8.6cm,ramp run=2.6cm,ramp rise=1.5cm,
   ramp wall height=3cm}%
  {center,wall-top,wall-mid,ramp-top,base-start,base-end}%
  {surface}
\rampanchorpage{Straight ramp right: tangent and normal guides}%
  {ramp,minimum width=8.6cm,ramp run=2.6cm,ramp rise=1.5cm}%
  {ramp-foot,surface-mid}%
  {surface,tangent-before,tangent-after,normal}
\rampanchorpage{Curved ramp right: floor, arc, and body}%
  {curved-ramp,curved ramp radius=4cm,
   curved ramp angle=75,curved ramp back extension=1cm}%
  {center,surface-start,surface-mid,surface-end,floor-mid,curve-start,curve-mid,curve-end,curve-center,base-start,base-end,back-top}%
  {surface,curve}
\rampanchorpage{Curved ramp left: floor, arc, and body}%
  {curved-ramp-left,curved ramp radius=4cm,
   curved ramp angle=90,curved ramp back extension=1cm}%
  {center,surface-start,surface-mid,surface-end,floor-mid,curve-start,curve-mid,curve-end,curve-center,base-start,base-end,back-top}%
  {surface,curve}
\rampboundarypage{Curved ramp right: every boundary}%
  {curved-ramp,curved ramp radius=4cm,
   curved ramp angle=75,curved ramp back extension=1cm}%
  {floor,curve,start,base,back,top}
\rampboundarypage{Curved ramp left: every boundary}%
  {curved-ramp-left,curved ramp radius=4cm,
   curved ramp angle=90,curved ramp back extension=1cm}%
  {floor,curve,start,base,back,top}
\rampanchorpage{Curved ramp right: surface guides}%
  {curved-ramp,curved ramp radius=4cm,
   curved ramp angle=75,curved ramp back extension=1cm}%
  {surface-start,surface-mid,surface-end}%
  {surface,tangent-before,tangent-after,normal}
\rampanchorpage{Curved ramp left: arc guides}%
  {curved-ramp-left,curved ramp radius=4cm,
   curved ramp angle=90,curved ramp back extension=1cm}%
  {curve-start,curve-mid,curve-end}%
  {curve,curve-tangent-before,curve-tangent-after,curve-normal}
\end{document}
