Torna indietro   Hardware Upgrade Forum > Software > Programmazione

KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo
KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo
KTC lancia il nuovo monitor gaming H27E6, un modello da 27 pollici che promette prestazioni estreme grazie al pannello Fast IPS con risoluzione 2K QHD (2560x1440). Il monitor si posiziona come una scelta cruciale per gli appassionati di eSport e i professionisti creativi, combinando una frequenza di aggiornamento di 300Hz e un tempo di risposta di 1ms con un'eccezionale fedeltà cromatica
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
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


KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo KTC H27E6 a 300Hz e 1ms: come i rivali ma a met&...
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
GeForce RTX 50 SUPER cancellate o rimand...
Windows 11 si prepara a vibrare: Microso...
La “Burnout Season” colpisce l’Italia: i...
QNAP annuncia il JBOD TL-R6020Sep-RP: ol...
Siemens e NVIDIA uniscono le forze: arri...
Ricarica veloce e durata batteria: miti ...
Le "navi volanti" di Candela a...
Bambini su misura? Il caso della startup...
Iliad porta le SIM Express in edicola: r...
Offerte Amazon sui TV Mini LED Hisense 2...
Il silenzio digitale che fa male: come i...
Il responsabile del programma Cybertruck...
Domanda alle stelle per SSD e RAM: in Gi...
Zuckerberg vuole eliminare tutte le mala...
Otto suicidi, un solo chatbot: si moltip...
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: 00:57.


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