Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-02-2008, 01:39   #1
Utone
Senior Member
 
L'Avatar di Utone
 
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
Allegati
File Type: zip spirale.zip (739 Bytes, 12 visite)
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2008, 12:56   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
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....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2008, 12:59   #3
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
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à
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2008, 13:00   #4
Utone
Senior Member
 
L'Avatar di Utone
 
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.
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2008, 18:56   #5
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da Utone Guarda i messaggi
scusa ma come faccio a usare la stessa funzione per disegnarne 2??
basta che gli passi i parametri corretti (tipo velocità e numero di giri).
Codice:
def drawSpiral(speed, revolutions):
    ...
end
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2008, 20:02   #6
Utone
Senior Member
 
L'Avatar di Utone
 
Iscritto dal: Jun 2007
Messaggi: 1805
ah...
queste funzioni non le conosco ancora...
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2008, 20:14   #7
Utone
Senior Member
 
L'Avatar di Utone
 
Iscritto dal: Jun 2007
Messaggi: 1805
Il prof mi ha detto di fare cosi:
Quote:
Originariamente inviato da mio_prof Guarda i messaggi
Hai spostato la tartaruga, ma non hai rimesso l'angolo iniziale a zero.
Il disegno diverso dipende solo dall'angolo iniziale che è diverso per le due spirali.

Cambia le istruzioni

turtle.color('white')
turtle.sety(-100)
turtle.setx(100)
turtle.sety(0)

con

turtle.up() # alza la penna
turtle.goto(100,0) # spostata la tartaruga nel seguente punto (x,y)
turtle.setheading(0) # setta l'algolo della tartaruga a zero (uguale all'angolo iniziale)
turtle.down() # abbassa la penna

giustamente le spirali vengono uguali ma i tempi mettendo stesso numero di giri e stessa veloità vengono diversi
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2008, 20:30   #8
Utone
Senior Member
 
L'Avatar di Utone
 
Iscritto dal: Jun 2007
Messaggi: 1805
up
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 29-02-2008, 11:05   #9
Utone
Senior Member
 
L'Avatar di Utone
 
Iscritto dal: Jun 2007
Messaggi: 1805
ho rifatto il programma con gli accorgimenti che mi hai detto...

eccolo
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 29-02-2008, 11:17   #10
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
meglio, vero?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 29-02-2008, 15:10   #11
Utone
Senior Member
 
L'Avatar di Utone
 
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..
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 29-02-2008, 16:13   #12
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2008, 21:02   #13
Utone
Senior Member
 
L'Avatar di Utone
 
Iscritto dal: Jun 2007
Messaggi: 1805
forse mi sono spiegato male...
ecco quello che mi ha scritto
Quote:
Originariamente inviato da mio_prof Guarda i messaggi
Quote:
Originariamente inviato da io
impostando stessa velocita e stesso numero di giri i tempi risultano simili ma non uguali....
Quando vale il tempo complessivo ?
Quanto vale l'errore percentuale ? 100*(t1-t2)/t2

I tempi diversi dovrebbero essere causati dal fatto che, per rallentare la tartaruga, viene richiamata una funzione che chiede al sistema operativo di avvertire quando è passato un determinato intervallo di tempo.

In pratica l'algoritmo esegue tante sequenze: traccia - aspetta .
Tanto più piccolo è l'intervallo di attesa, tanto più veloce è la tartaruga.

Il sistema operativo avverte l'applicazione della fine dell'intervallo desiderato con una certa imprecisione (normalmente >20ms).
Tale imprecisione è sempre presente nei sistemi operativi utilizzati dai PC, che non sono "real time".

La somma di tante piccole imprecisioni può diventare misurabile.

Se sei curioso e desideri maggiori informazioni, prova a leggere i seguenti articoli:

http://it.wikipedia.org/wiki/Multitasking
http://it.wikipedia.org/wiki/Scheduler
http://it.wikipedia.org/wiki/Sistema...tivo_real-time

Ciao
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2008, 21:43   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2008, 20:24   #15
Utone
Senior Member
 
L'Avatar di Utone
 
Iscritto dal: Jun 2007
Messaggi: 1805
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
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).
Tutti i sistemi di misura hanno una loro imprecisione

Quote:
Originariamente inviato da cdimauro Guarda i messaggi
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.
Il tempo può essere misurato con molta precisione anche con un sistema operativo normale, al limite si può utilizzare un orologio hardware che lavora per conto suo, magari sincronizzato con un orologio atomico.

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".



Quote:
Originariamente inviato da cdimauro Guarda i messaggi
In soldoni: possono esistere s.o. "non real-time" che, però, offrono timer a precisione molto elevata.
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.
Utone è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2008, 21:45   #16
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 04-03-2008, 21:52   #17
Utone
Senior Member
 
L'Avatar di Utone
 
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!...
Utone è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Addio console: Just Dance Now trasforma ...
Driver Radeon Adrenalin 25.10: perch&egr...
Oltre le GPU: NVIDIA annuncia NVQLink, ...
Samsung lancia il Team Galaxy Italia per...
Magic Leap: indistinguibili dai normali ...
Aruba Cloud: trasparenza sui costi e str...
Quando il cloud si blocca e resti al fre...
Integrare per competere, la sfida digita...
Leggenda del rally e modernità: S...
La Python Software Foundation rinuncia a...
Full HD e QLED, è in offerta un TV da 32...
Honda ha rilasciato un nuovo video sul p...
Resident Evil Requiem: arriva su Switch ...
Marshall Acton III in promo su Amazon in...
2 portatili che costano poco ma vanno be...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 02:49.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v