CERCA
06-11-2022 08:09

Esercizi settimana 5

da consegnare entro: 13/11/2022

 

 

ESERCIZIO 1

Generatore di uova di Fabergè

Antefatto: La tradizione di regalare uova pasquali decorate fu inaugurata in Russia nel 1885 dallo zar Alessandro III, che da quell’anno commissionò un uovo al suo gioielliere di fiducia, Peter Carl Fabergé, per donarlo alla moglie in occasione della Pasqua. Questa usanza fu portata avanti dal figlio, Nicola II, che gli succedette nel 1894; anzi, da allora il dono fu raddoppiato: un uovo alla moglie e uno alla zarina madre. Fino alla caduta dell’impero russo, nel 1917, furono prodotti una cinquantina di questi veri e propri capolavori dell’arte orafa: ogni uovo, fatto d’oro, pietre preziose e altri materiali pregiati, era decorato con miniature e smalti che riproducevano splendidi motivi ornamentali, e richiedeva circa un anno di lavoro a un abile maestro orafo.

Scrivere un programma C che generi uova di Fabergè usando il seguente algoritmo.


Come generare un uovo di Fabergè

Pickover usò come funzione la somma di due sinusoidi, una dipendente da x e l’altra da y, con stessa frequenza ma diverse fasi; tenne fissa la griglia di punti sul piano cartesiano, facendo corrispondere direttamente i valori di j e i alle loro ascisse e ordinate, rispettivamente.

Per costruire i campioni di una di queste funzioni, procediamo così:
• prendiamo tre numeri “reali” (in virgola mobile): ω (la pulsazione) scelto a caso nell’intervallo [0.15, 0.80], φ e ψ (le fasi) scelti, ancora casualmente, nell’intervallo [0.0, 1.0] (così suggerisce Pickover, ma si può usare [0, 2π]);
• per ogni i e j, calcoliamo Fji = sin(ω∙i + φ) + sin(ω∙j + ψ).
A questo punto scegliamo a caso un altro numero reale μ nell’intervallo [0.0, 20.0] e un numero intero β tra 128 e 256 e infine calcoliamo
m(i, j) = floor ((β + μ)∙(1.0 + Fji / 2.0)) mod β

Otteniamo così una matrice m(i, j) di interi in [0, β − 1]; poi ripetiamo questi passi
altre due volte, per avere tre di queste matrici da usare come componenti per i tre colori di base dell’immagine finale.

Articolo originale: Pickover, A recipe for self-decorating eggs, pubblicato su
Computer Language, Vol. 4, No. 11, novembre 1987, pp. 55-58.

Un breve resoconto si trova nella sezione speciale “Art and Biology” della rivista Leonardo, Vol. 31, No. 4, agosto-settembre 1998, p. 280: Algorithmic Fabergé Eggs via Residue Analysis.

 

 

ESERCIZIO 2

Decriptazione stringa

Scrivere un programma che simuli l’“effetto decriptazione dati” presentato nel 1992 nel film Sneakers. L’effetto è presente a partire dal 0.35 nella seguente clip del film:

https://www.youtube.com/watch?v=F5bAa6gFvLs&t=35s

Il vostro programma dovrà occuparsi di chiedere all’utente una stringa e di visualizzare in tempi successivi versioni via via più simili alla stringa iniziale.

 

 

PROCEDI CON LA CONSEGNA DEGLI ESERCIZI