(Casi) Autogenerar colores

El 8 de marzo, tuve una implementación de dibujo automatizado de superficies con splines. ¿Por qué no escribir un artículo con colores?

Resultó algo como esto:



habrá más bajo el corte, cuida el tráfico.

El algoritmo que crea curvas cúbicas se ha descrito anteriormente . Aquí intentaremos aplicarlo para obtener algo floral. El único problema es cómo seleccionar los datos de entrada.
Los datos de entrada son un conjunto de puntos con coordenadas en un espacio tridimensional y un conjunto de conexiones entre ellos, de modo que topológicamente este diseño debería ser equivalente a un cuadro, como este:



(al final debería ser así :) para



que las superficies cúbicas cuando se tensan en el núcleo se vean como una flor , es necesario organizar los puntos simétricamente en los círculos descritos alrededor del centro de la flor. Para resolver este problema, se aplicó una variación de "búsqueda de amplitud".

Asignar a todos los puntos de peso. Primero, asignamos los pesos 0 y 1 a los puntos extremos (dos pesos idénticos no deberían estar cerca). Estos serán los bordes de los "pétalos", 0 - el lejano, 1 - el más cercano ("pétalos" entre comillas, porque no hay división en pétalos como tal). Pese aún más asignando peso n + 2 a vecinos no ponderados con peso n.

Cuadro ponderado: a



continuación, seleccione aleatoriamente la distancia r desde el centro de la flor para cada categoría de peso.
La lógica aquí es la siguiente: cuanto mayor sea el peso, más cerca se necesitará mover el punto al centro y se deben cumplir las desigualdades:

r0 0>r2>r4 4>...>r2norte;  r1>r3>...>r2norte+1;  r0 0>r1


donde r es la distancia desde el centro de la flor hasta los puntos con el peso correspondiente. Los pesos pares son responsables de la parte central del "pétalo", los pesos impares son responsables de los bordes del "pétalo".

Para organizar los puntos en círculos (y no en esferas), también tenemos que seleccionar aleatoriamente las coordenadas z de tal manera que z_n <r_n (si el centro de la flor está en la coordenada cero).



En el siguiente paso, necesitamos saber los ángulos para la ubicación de los puntos en el círculo:

miconly metronorte-aacerca delyhmicontaacerca de tacerca dehmia con amiconacerca demetro norte,tacerca de αnorte=2π/ /metronorte


y luego las coordenadas para el i-ésimo punto de peso n, si es par:

Xyo=rnorte2-znorte2Cos(yoαnorte)


yyo=rnorte2-znorte2syonorte(yoαnorte)


por impar:

Xyo=rnorte2-znorte2Cos(yoαnorte+αnorte/ /2)


yyo=rnorte2-znorte2syonorte(yoαnorte+αnorte/ /2)


Además, el orden en que tomamos los puntos es importante: deben ser "vecinos".



Después de todas estas manipulaciones, se obtiene una estructura en forma de estrella sobre la cual se pueden tirar las estrías.

(vista superior, isometría, splines)





Tales sépalos se pueden aleatorizar a 100,500, pero para seleccionar los adecuados, hacer varias flores, seleccionar mejor los colores y los parámetros centrales manualmente, por lo tanto, la generación es semiautomática.

(vista del software de ensamblaje) ¡













Felicitaciones por el Día Internacional de la Mujer a la bella mitad de la sociedad! Espero que fueras hermosa.

All Articles