Tengo problemas para dibujar una ruta de muestra de un proceso de movimiento browniano estándar que muestre la propiedad de reflexión. En el punto donde se unen la línea discontinua roja y la línea azul, me gustaría reflejar la línea azul sobre la roja. Como genero la línea azul al azar, no tengo idea de cómo lograrlo.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{figure}[h]
\centering
\begin{tikzpicture}
\pgfmathsetseed{952}
\draw[->] (-1,0) -- (6,0) node[right] {$t$};
\draw[->] (0,-1) -- (0,4) node[above] {$B_t$};
\draw[-, red, dashed] (0,0.75) -- (6,0.75);
\draw[blue] (0,0)
\foreach \x in {1,...,500}
{ -- ++(0.01,rand*-0.2)
}
node[right, black] {$(t,B_t)$}
\end{tikzpicture}
\end{figure}
\end{document}
Respuesta1
Si desea reflejar solo una parte de la ruta, creo que el uso de las bibliotecas spath3
es intersections
el enfoque más sencillo:
- Nombra/guarda el trazado ondulado azul y el trazado punteado rojo.
- Divide el camino ondulado en la intersección con el trazado rojo discontinuo.
- Retire el componente antes de la intersección.
- Dibuja el camino restante con la transformación de reflexión.
Estoy usando la ext.transformations.mirror
biblioteca de mitikz-ext
paquetepero siéntase libre de utilizar cualquier solución proporcionada para¿Podemos reflejar una parte en tikz ("simetría axial", "reflexión")?
También podríamos establecer la misma semilla y dibujar el camino azul nuevamente, pero esta vez recortado de modo que todo lo que queda de la intersección quede recortado, pero el área de recorte debe elegirse correctamente.
he puestoline join=round
para que no cambie entre inglete y bisel.
Verá que el camino reflejado se encuentra encima del camino original. Si esto no se desea podemos cambiar el orden del dibujo.
Código
\documentclass[tikz]{standalone}
%\documentclass{article}
%\usepackage{tikz}
\usetikzlibrary{
arrows.meta, % arrow tips
ext.transformations.mirror, % reflect over axis
intersections, % find intersection between paths
spath3} % split and transform paths
\begin{document}
\begin{tikzpicture}[line join=round]
\pgfmathsetseed{952}
\draw[->] (-1,0) -- (6,0) node[right] {$t$};
\draw[->] (0,-1) -- (0,4) node[above] {$B_t$};
\draw[spath/save=horiz, red, dashed] (0,0.75) -- (6,0.75);
\draw[blue, spath/save=squiggly] (0,0)
foreach \x in {1,...,500}{ -- ++(0.01,rand*-0.2) }
node[right, black] {$(t,B_t)$};
\draw[
draw=blue!50,
spath/.cd,
split at intersections with={squiggly}{horiz},
remove components={squiggly}{1},
use={squiggly, transform={ymirror=0.75}}
] node[anchor=base west] {$(t,B'_t)$};
\end{tikzpicture}
\end{document}