Video Sintesi - Making Waves, modelli, gradienti
-
27-09-2019 - |
Domanda
Sto scrivendo un programma per generare alcune immagini selvatici. Finora posso dipingere ogni pixel con un valore blu casuale:
for (y = 0; y < YMAX; y++) {
for (x = 0; x < XMAX; x++) {
b = rand() % 255;
setPixelColor(x,y,r,g,b);
}
}
Mi piacerebbe fare di più che fare rumore blu, ma non sono sicuro da dove cominciare (Google non mi sta aiutando molto oggi), quindi sarebbe bello se si potesse condividere nulla si sa sulla soggetto o alcuni link a risorse correlate.
Soluzione
ho usato per fare questo tipo di trucchi in passato. Purtroppo , non ho il codice: - /
Ti verrà stupito di ciò che effetti AND bit a bit integer operatori aritmetici in grado di produrre:
FRAME_ITERATION++;
for (y = 0; y < YMAX; y++) {
for (x = 0; x < XMAX; x++) {
b = (x | y) % FRAME_ITERATION;
setPixelColor(x,y,r,g,b);
}
}
Siamo spiacenti, ma non mi ricordo le combinazioni esatte, così b = (x | y) % FRAME_ITERATION;
potrebbe effettivamente rendere nulla di bello. Ma, si può provare le proprie combo.
In ogni caso, con il codice come il precedente, è possibile produrre modelli di strani e persino gli effetti di acqua-like.
Altri suggerimenti
Le onde si realizza con le funzioni trigonometriche (sin / cos) o tabelle che approssimativa di loro.
Si può anche fare alcune increspature d'acqua fresca con qualche semplice matematica. Vedere qui per il codice e una demo online.