Estamos trabajando en un proyecto para iPhone y Windows Phone 7 en el que nos gustaría poder generar hojas de té en el fondo de una taza. No tiene que parecer fotorrealista, y de hecho, cartoon-y está bien.
¿Qué tipo de técnicas debemos investigar para lograr esto? ¿Hay alguna biblioteca (preferiblemente en C, pero podemos traducir) que sería útil?
Aquí hay algunas muestras extraídas de una búsqueda de imágenes de Google
Respuestas:
Cómo probablemente lo haría para poder mantener un poco de control del arte y no potencialmente pasar mucho tiempo tratando de ajustar un método de procedimiento para hacerlo bien ...
Primero, cree manualmente una cantidad de sprites de grupos de hojas de té como su "piscina" de arte, no cada una como una taza entera de hojas de té, sino más bien como un grupo más pequeño. Digamos, 20 de ellos más o menos?
Luego coloque un número aleatorio de ellos en coordenadas aleatorias en la base de la "taza". Dé a cada uno una rotación y escala aleatorias más un reflejo horizontal y / o vertical aleatorio. Esto debería crear un buen resultado.
Este enfoque le dará la libertad artística para crear los grupos individuales para tener el aspecto que desea, al tiempo que permite una gran variedad de resultados (suponiendo que haya suficientes sprites para elegir).
Además, con esto (y cualquier método aleatorio, incluido el ruido basado en Perlin), en realidad podría sembrar el generador de números aleatorios al comienzo del proceso con una semilla conocida para obtener resultados reproducibles. Si guarda la semilla, puede recrear exactamente el mismo patrón nuevamente al reiniciar justo antes de que comience la secuencia. Incluso podría hacer cosas divertidas como hacer que alguien escriba su nombre, convertir las letras en un número (suma ASCII, etc.), y luego usarlo como semilla como una especie de "este patrón de hojas de té personalizado para USTED". cosa.
Aquí hay un pseudocódigo para lo que quiero decir, si eso ayuda ...
Visite http://mathworld.wolfram.com/DiskPointPicking.html para una gran discusión sobre cómo elegir un punto aleatorio en un disco y por qué estoy usando todo eso de sqrt / sin / cos.
fuente
¿Prueba el ruido perlin con un valor de corte binario de 0.8 o menos?
Imagen de ejemplo cargada en http://imgur.com/a/Ydc4y . La primera es la segunda imagen con un umbral aplicado. El segundo es el ruido básico de perlin, para el que puede encontrar múltiples referencias buenas, como http://en.wikipedia.org/wiki/Perlin_noise y http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter26.html .
Puede jugar un poco con el número y la escala de octavas en el ruido perlin para variar la suavidad de la salida, así como el umbral para determinar la cantidad (en promedio, como el ruido) de hojas de té que habrá.
fuente