|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Automi cellulari: progetto.. help
Ciao!!
Devo fare un progetto per un esame.. in pratica sarebbe un automa cellulare che rappresenti qualcosa tipo incendio di una foresta, inquinamento di un lago, vicinato ecc... Il tutto programmato in ambiente camelot (conoscete?) Con linguaggio carpet. Volevo fare una cosa originale: Un automa che genera musica o suoni.. che ne pensate? Come posso realizzarlo? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Up
|
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Aug 2004
Messaggi: 39
|
Quote:
Non saprei, ho sentito puredata (prima o poi dovrò approfondire), che può essere usato per la trasformazione di informazioni in suoni (sonificazione). Ma non penso ti sia utile.
__________________
Quello che davvero mi interessa è se Dio, quando creò il mondo, aveva scelta. |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
http://staff.icar.cnr.it/spezzano/camelot/camelot.html Ho il sospetto che non sia la risorsa più aggiornata, forse mistergks può fornircene una migliore. Comunque può servire a soddisfare la tua curiosità. Spiega (by example) cos'è l'ambiente Camelot (un ambiente per la programmazione e l'esecuzione parallela di automi cellulari che supporta Carpet come linguaggio di programmazione). Tra parentesi, sembra sia roba nostrana ![]() Carpet pare essere una semplice estensione dell'ANSI C. A quanto pare per far girare Camelot servono le MPI.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 28-06-2013 alle 13:19. |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Però, sulla pagina wikipedia italiana corrspondente alla voce "Automa cellulare" ho trovato un passo che parla dell'applicazione di questi automi al fine di generare suonerie musicali, e un link a Wolfram Tones. Magari ti può essere utile, non so.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 28-06-2013 alle 13:30. |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Quote:
Quel link è della mia università! Non é molto aggiornato perche é un esame estinto a causa della transizione alla dm270. In pratica camelot gira su una macchina virtuale e ha un editor e compilatore.. il linguaggio deriva dal C.. Questo link puo farvi capire meglio: https://www.mat.unical.it/spataro/teaching/modelli/modelli.html Ma io non cerco aiuto sull'uso dell'ambiente in questione, ma vorrei capire come realizzare l automa cellulare che si comporti generando suoni Su internet ho trovato una cosa simile a quello che vorrei fare io ma é fatta in java.. Si chiama "otomata" . Ultima modifica di mistergks : 28-06-2013 alle 16:29. |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
-> http://www.earslap.com/projectslab/otomata E' una figata pazzesca!! ![]() Hai capito come funziona quell'automa? Ecco le regole (desunte dal video): 1) In pratica ogni cellula ha quattro stati: su, giù, destra, sinistra (oltre che avere una certa posizione xy nella griglia/ambiente). 2) Ad ogni step temporale, ogni cellulasi sposta in una nuova posizione xy determinata dal suo stato. 3) Se una cellula colpisce un muro/bordo viene emesso un suono con un certo pitch (il tono) che dipende dalla posizione xy del muro/bordo colpito. Inoltre la cellula cambia stato (prende la direzione opposta, come se rimbalzasse). 4) Se due cellula entrano in collisione, il loro stato viene mutato (la direzione cambia in senso antiorario, cioè passa da su -> sinistra -> giù -> destra). Comunque, al di la delle regole scelte per far mutare di stato le cellule, la chiave che lega l'evoluzione dell'automa all'emissione dei suoni è la presenza di una regola che produce dei suoni (regola 3). Tu puoi fare lo stesso, magari variando un po' le regole. Ad esempio puoi aggiungere delle cellule che quando vengono colpite si girano in senso opposto, oppure delle cellule che quando sono colpite emettono loro stesse un suono. Oppure puoi essere ancora più radicale: invece di usare delle cellula rettangolari su una griglia rettangolare, potresti usare delle cellula esagonali e definire così più possibili stati (direzioni) e regole per mutarli. Oppure puoi pensare a dei meccanismi/interazioni particolari per far generare (e distruggere) cellula speciali che si comportano come dei bordi/muri quando entrano in contatto con alre cellule, ecc... insomma, secondo me hai di che sbizzarrirti ![]() Potresti perfino pensare a delle regole per modificare i bpm o altro ancora (invece che un sistema bidimensionale, potresti usare una griglia tridimensionale: così potresti associare ad ogni singolo layer bidimensionale un suono diverso, e far così "suonare" più "strumenti")... gran figata/cacofonia garantita ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 29-06-2013 alle 00:15. Motivo: Avevo scritto celle invece di cellule |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Si é quella roba :-).. é una figata davvero!
A me per il Progetto basta fare una cosa basilare! Anche perché ho pochissimo tempo! Vorrei capire se posso farlo in ambiente camelot con linguaggio carpet (devo usare questo per forza). Non so se si possono produrre i suoni in questo ambiente! E se si.. potrei usare un solo tipo di suono come un pianoforte ad esempio: ma come lo campiono? Ho paura di mettermi in qualcosa piú grande di me! |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Comunque quella roba... cioè Otomata, non è stata scritta in Java ma con il linguaggio HaXe.
Quote:
Poi se è vero che Carpet è una estensione del linguaggio C come è spiegato nella pagina che avevo linkato (e se Camelot come ambiente, che non conosco, non mette i bastoni tra le ruote) probabilmente puoi far produrre i suoni che vuoi magari appoggiandoti a qualche libreria già esistente (nn mi chiedere quale però, perchè non ne ho idea, ma google e stackoverflow sono tuoi amici,fai qualche ricerca) ![]() Eventualmente potresti anche provare a chiedere lumi via mail al tuo professore o a uno degli autori di Camelot/Carpet (visto che c'è almeno un'italiano nel gruppo). Insomma, devi dirimere la faccenda dell'integrazione tra Camelot e il resto del mondo.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 29-06-2013 alle 00:22. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:51.