¿Cómo puedo agregar números en estas imágenes para maximizar automáticamente el número de regiones para un número determinado de líneas?

¿Cómo puedo agregar números en estas imágenes para maximizar automáticamente el número de regiones para un número determinado de líneas?

Quiero numerar la región de las líneas que dividen una línea plana en esta imagen. ingrese la descripción de la imagen aquí

Con una línea tenemos dos regiones, con dos líneas tenemos cuatro regiones. Lo intenté

\documentclass[tikz,12pt]{standalone}
\begin{document}
    \begin{tikzpicture}
    \path
    (0,0) coordinate (O)
    (-2,-2) coordinate (A)
    (2,2) coordinate (B)
    (2,-2) coordinate (C)
    (-2,2) coordinate (D);
    \node at (barycentric cs:A=1,C=1,B=1) {$1$};
    \node at (barycentric cs:A=1,D=1,B=1) {$2$};
    \draw (A) -- (B);
    \end{tikzpicture}


    \begin{tikzpicture}
    \path
    (0,0) coordinate (O)
    (-2,-2) coordinate (A)
    (2,2) coordinate (B)
    (-4,-2) coordinate (C)
    (4,2) coordinate (D);
    \draw (A) -- (B) (C) -- (D);
    \node at (barycentric cs:A=1,O=1,C=1) {$1$};
    \node at (barycentric cs:B=1,O=1,C=1) {$2$};
    \node at (barycentric cs:B=1,O=1,D=1) {$3$};
    \node at (barycentric cs:A=1,O=1,D=1) {$4$};
    \end{tikzpicture}
\end{document} 

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Lo sé, el número máximo $ L_n $ es $ \dfrac{n^2+n+2}{2} $. ¿Cómo puedo dibujar la imagen de arriba automáticamente? ¿Cómo puedo agregar números a estas imágenes automáticamente?

Respuesta1

Esto está lejos de ser una respuesta completa. La pregunta parece ser cómo, dado el número nde líneas, se pueden ordenar de manera que el número de regiones alcance su número máximo (n^2+n+2)/2. Creo que son necesarias las siguientes condiciones:

  1. No hay dos rectas diferentes que sean paralelas.
  2. No se cruzan más de dos líneas en un punto de intersección determinado.

Usando estas pautas, uno puede construir una imagen que cree tal arreglo.

\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[pics/divi/.style={code={
\foreach \X [evaluate=\X as \Y using {360*\X/(#1+1-isodd(#1))}]
     in {1,...,#1}
\draw[scale=1/#1] ({90+\Y}:#1/4)
++ ({180+\Y}:1+1.5*#1) -- ++ ({\Y}:2+3*#1);
}}]
\matrix {\pic {divi=1}; & \pic {divi=2}; \\
\pic {divi=3}; & \pic {divi=4}; \\
\pic {divi=5}; & \pic {divi=6}; \\
};
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Ni siquiera he intentado poner los números.

Respuesta2

Esto proporciona una macro para calcular el incentro de un triángulo. La parte difícil fue evitar los desbordamientos de coma flotante.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}

\newcommand{\incenter}[4]% #1-#3 = coordinate names for vertices, #4 = name of incenter
{\pgfscope
  \pgfpathmoveto{\pgfpointanchor{#1}{center}}%
  \pgfgetlastxy{\xa}{\ya}%
  \pgfpathmoveto{\pgfpointanchor{#2}{center}}%
  \pgfgetlastxy{\xb}{\yb}%
  \pgfpathmoveto{\pgfpointanchor{#3}{center}}%
  \pgfgetlastxy{\xc}{\yc}%
  \pgfmathsetmacro{\a}{veclen(\xc-\xb,\yc-\yb)}%
  \pgfmathsetmacro{\b}{veclen(\xc-\xa,\yc-\ya)}%
  \pgfmathsetmacro{\c}{veclen(\xb-\xa,\yb-\ya)}%
  \pgfmathsetmacro{\d}{\a+\b+\c}%
  \pgfmathsetmacro{\a}{\a/\d}%
  \pgfmathsetmacro{\b}{\b/\d}%
  \pgfmathsetmacro{\c}{\c/\d}%
  \pgfmathsetlengthmacro{\xo}{\a*\xa + \b*\xb + \c*\xc}%
  \pgfmathsetlengthmacro{\yo}{\a*\ya + \b*\yb + \c*\yc}%
  \pgfcoordinate{#4}{\pgfpoint{\xo}{\yo}}
\endpgfscope}


\begin{document}
    \begin{tikzpicture}
    \path
    (0,0) coordinate (O)
    (-2,-2) coordinate (A)
    (2,2) coordinate (B)
    (2,-2) coordinate (C)
    (-2,2) coordinate (D);
    \draw (A) -- (B);
    \incenter{A}{C}{B}{O1}%
    \node at (O1) {1};
    \incenter{A}{D}{B}{O2}%
    \node at (O2) {2};
    \end{tikzpicture}


    \begin{tikzpicture}
    \path
    (0,0) coordinate (O)
    (-2,-2) coordinate (A)
    (2,2) coordinate (B)
    (-4,-2) coordinate (C)
    (4,2) coordinate (D);
    \draw (A) -- (B) (C) -- (D);
    \incenter{A}{O}{C}{O1}%
    \node at (O1) {1};
    \incenter{B}{O}{C}{O2}%
    \node at (O2) {2};
    \incenter{B}{O}{D}{O3}%
    \node at (O3) {3};
    \incenter{A}{O}{D}{O4}%
    \node at (O4) {4};
    \end{tikzpicture}
\end{document}

manifestación


lección de geometría

Respuesta3

Dibujar estos diagramas es fácil. El siguiente código define una macro, \DividedPlanesde modo que

  \DividedPlanes{5}
  \DividedPlanes{6}

produce estas configuraciones para 5 y 6 puntos, respectivamente:

ingrese la descripción de la imagen aquí

Las líneas \DividedPlanes{<n>}se dibujan usando primero un \foreachbucle para colocar ncoordenadas alrededor de un círculo de radio 2en los puntos 2k\pi/n, para k=1,2,...,n. Después de esto, las líneas se dibujan recorriendo todos los pares de números (equivalentemente, puntos), en {1,2,...,n}. Con más pensamiento del que tengo tiempo en este momento (es un día laboral), debería ser posible etiquetar las regiones (el comportamiento es ligeramente diferente cuando nes impar y cuando es par). Quizás vuelva a esto si la población felina local no se me adelanta.

Aquí está el código:

\documentclass{article}
\usepackage{tikz}

% allow an optional argument so that we can pass some optional
% style commands to the tikzpicture environment
% usage: \DividedPlanes[style]{n}
\newcommand\DividedPlanes[2][]{
  \begin{tikzpicture}[#1]
    % reserve some real estate for the image
    \draw[white](-3,-3) rectangle (3,3);
    \foreach \pt  in {1,...,#2} {
        % name coordinates (1), (2), ..., (#2)
        \coordinate (\pt) at (\pt*360/#2:2);
    }
    \foreach \apt in {1,...,#2} {
       \foreach \bpt in {1,...,#2} {
         \ifnum\apt=\bpt\else
           % draw a line when a and b are distinct
           \draw[shorten >=-20,shorten <=-20](\apt)--(\bpt);
         \fi
       }
    }
  \end{tikzpicture}
}
\begin{document}

  \DividedPlanes{2}

  \DividedPlanes{3}
  \DividedPlanes{4}

  \DividedPlanes{5}
  \DividedPlanes{6}

\end{document}

información relacionada