| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  23-02-2008, 01:39 | #1 | 
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
				
				[Python] Spirali di prova
			 
		Ciao a tutti, è la prima volta che scrivo in questa sezione... io sono un ragazzo all 3° anno all ITIS corso elettronico. Facendo il python in sistemi ho visto che aveva questa interfaccia grafica allora ho provato a implementare un programmino... Sembra funzionare tutto ma se badate bene nella seconda spirale la curva iniziale è meno accentuata di quella della prima spirale. C'è un errore? Il programma è allegato in zip... Saluti     | 
|   |   | 
|  23-02-2008, 12:56 | #2 | 
| Senior Member Iscritto dal: Jul 2002 Città: Reggio Calabria -> London 
					Messaggi: 12112
				 | 
		così sulla fiducia senza guardare il codice ma solo le spirali direi che la tartaruga della seconda spirale parte con orientazione shiftata di 90 gradi in senso anti-orario.... quindi è come se si perdesse il primo step penso.... 
				__________________   | 
|   |   | 
|  23-02-2008, 12:59 | #3 | 
| Senior Member Iscritto dal: Jul 2002 Città: Reggio Calabria -> London 
					Messaggi: 12112
				 | 
		visto il codice... ma usare una funzione per disegnare la spirale in modo da richiamarla due volte con i parametri corretti anzichè scrivere due volte lo stesso codice?  In quel modo sei anche sicuro che le due spirali ti vengano identiche (se hai scritto correttamente il codice di inizializzazione nella funzione) e il tuo codice ne guadagna MOLTO in leggibilità   
				__________________   | 
|   |   | 
|  23-02-2008, 13:00 | #4 | 
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
		scusa ma come faccio a usare la stessa funzione per disegnarne 2??
		 Ultima modifica di Utone : 23-02-2008 alle 13:11. | 
|   |   | 
|  23-02-2008, 18:56 | #5 | |
| Senior Member Iscritto dal: Jul 2002 Città: Reggio Calabria -> London 
					Messaggi: 12112
				 | Quote: 
 Codice: def drawSpiral(speed, revolutions):
    ...
end
				__________________   | |
|   |   | 
|  23-02-2008, 20:02 | #6 | 
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
		ah... queste funzioni non le conosco ancora... | 
|   |   | 
|  23-02-2008, 20:14 | #7 | |
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
		Il prof mi ha detto di fare cosi: Quote: 
 giustamente le spirali vengono uguali ma i tempi mettendo stesso numero di giri e stessa veloità vengono diversi     | |
|   |   | 
|  24-02-2008, 20:30 | #8 | 
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
		up
		 | 
|   |   | 
|  29-02-2008, 11:17 | #10 | 
| Senior Member Iscritto dal: Jul 2002 Città: Reggio Calabria -> London 
					Messaggi: 12112
				 | 
		meglio, vero?    
				__________________   | 
|   |   | 
|  29-02-2008, 15:10 | #11 | 
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
		sisi molto meglio... il mio prof ha detto che i tempi non vengono uguale perchè windows non è un os real time e si accumulano vari errori.. | 
|   |   | 
|  29-02-2008, 16:13 | #12 | 
| Senior Member Iscritto dal: Jan 2002 Città: Germania 
					Messaggi: 26110
				 | 
		ROTFL: questa mi mancava. Aspetta che annoto.   Quindi il tuo prof. queste prove le avrà fatte con s.o. come QNX immagino. Roba alla portata della gente comune, insomma...   
				__________________ Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys | 
|   |   | 
|  01-03-2008, 21:02 | #13 | ||
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
		forse mi sono spiegato male... ecco quello che mi ha scritto Quote: 
 | ||
|   |   | 
|  01-03-2008, 21:43 | #14 | 
| Senior Member Iscritto dal: Jan 2002 Città: Germania 
					Messaggi: 26110
				 | 
		Rimane il fatto che anche un s.o. "real-time" ha un suo "tempo di risposta" che comporterà anch'esso una perdita di precisione che sarà, a sua volta, anch'essa misurabile (bisognerà semplicemente attendere più tempo per l'accumularsi degli errori). Altra cosa, qui parla dell'intervallo di attesa e questo, più che sul fatto che il s.o. sia "real-time" o meno, dipende dalla precisione del timer interno utilizzato dal s.o. per dispatching degli eventi time-based. In soldoni: possono esistere s.o. "non real-time" che, però, offrono timer a precisione molto elevata. Per inciso: anche su Windows esistono timer come questi. Ecco qui http://www.mtsu.edu/~csjudy/directX/...anceTimer.html il primo link che ho recuperato sull'argomento.   
				__________________ Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys | 
|   |   | 
|  04-03-2008, 20:24 | #15 | ||
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | Quote: 
 Quote: 
 Ma quello che ci interessa non è l'errore della misura di tempo, ma il ritardo con cui il sistema operativo richiama i vari task. L'errore dipende dal tempo massimo che impiega il sistema operativo a restituire il controllo al programma che fa la misura. Nel caso di windows, tale errore può essere > 20ms. E' vero che la precisione della misura dipende dal "timer interno" utilizzato, però occorre sempre aggiungere il ritardo (casuale) introdotto dal multitasking. Se gli intervalli di tempo sono molto piccoli e si devono sommare fra di loro, come nel caso della misura di tante azioni "traccia-aspetta" che portano al disegno della spirale, la differenza di tempi fra due disegni diventa misurabile e significativa, indipendentemente dalla precisione del "timer interno". Vero, però la differenza di tempo che hai osservato nel movimento a spirale della tartaruga, non è causata dalla imprecisione del timer utilizzato, ma dell'inevitabile errore introdotto dal multitasking. Tale errore diventa grande quando si sommano tante misure di tempo. | ||
|   |   | 
|  04-03-2008, 21:45 | #16 | 
| Senior Member Iscritto dal: Jan 2002 Città: Germania 
					Messaggi: 26110
				 | 
		Indubbiamente, ma l'errore introdotto dal multitasking è praticamente ineliminabile (a meno che tu non abbia il pieno controllo del sistema, come quando su AmigaOS si eseguiva una chiamata all'API Disable() che disabilitava qualunque interrupt) anche in un s.o. realtime. L'unica cosa che puoi fare è verificare mediamente a quanto ammonta il ritardo dovuto all'esecuzione dello scheduler e regolarti di conseguenza. Altra cosa molto utile, puoi anche elevare la priorità del tuo processo a "real-time", mettendolo al di sopra persino di quasi tutti i processi del s.o. e, quindi, garantendoti praticamente quasi tutta la CPU. Cose che, ad esempio, si fanno generalmente nei giochi per PC. 
				__________________ Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys | 
|   |   | 
|  04-03-2008, 21:52 | #17 | 
| Senior Member Iscritto dal: Jun 2007 
					Messaggi: 1805
				 | 
		eh già!  sotto windows non si può avere un risultato perfetto... comunque era solo una curiosità.. Grazie per il supporto!... | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 02:49.









 
		 
		 
		 
		









 
  
 



 
                        
                        










