Cómo dibujar la forma inferior de forma recursiva en lenguaje C solo requiere proporcionar ideas, ¡no se requiere ningún código específico! Gracias

Dibujar una línea recta requiere una función de biblioteca. Hablemos de ideas.

Defina el tipo de punto para que tenga coordenadas bidimensionales, como struct point { double x; double y } y así sucesivamente.

Defina el tipo de polígono como una lista lineal cuyos elementos son puntos, como lista enlazada struct polígono { struct point * p; estructura polígono * siguiente},

Necesitas ser capaz de acceder a cada elemento en puntos de secuencia, y se debe proporcionar una función de inserción para realizar la operación del punto de inserción.

Partiendo de un triángulo equilátero, un polígono contiene tres puntos iniciales que forman un triángulo equilátero.

Las siguientes ideas son pseudocódigo.

P = punto inicial cabeza;;

Hacer {

1. Cada punto P y el siguiente punto P-> forman un lado del polígono. , Y encuentra la longitud del lado;

2. Encuentra las dos bisectrices q1 y q2 (el método para encontrar la distancia del segmento de línea formado por dos puntos y encontrar además la bisectriz se escribe como una función , y la fórmula es evidente);

3. Inserta q1 y q2 entre P y P->;

4. el vértice del triángulo R que crece hacia afuera (encontrar las coordenadas de R es más complicado, se puede usar la fórmula, pero creo que el cálculo se puede simplificar en función del ángulo entre q1q2 y el eje X en seis casos);

5. Entre q1 y q2 Insertar R;

6.p = p->Siguiente;

} while (p!=punto de partida);

//Cada vez que se completa uno, agregue una ronda más al ciclo y considere cuántas rondas se necesitan para satisfacer las necesidades. Según la imagen, el segundo número son 3 rondas.

A continuación, p atraviesa cada punto del polígono por turno para dibujar una línea (p, p->; next)

Dibuja una línea (p, head) entre el último punto y el El punto de partida son los gráficos cerrados.

Terminado.