Matematica. La regina delle scienze
 

Contare il numero di giri

Cristiano 5 Lug 2017 12:38
Ho una particella che si muove lungo una circonferenza in senso
antiorario (angolo crescente) con velocità periferica quasi costante.

Ogni tanto campiono le coordinate x e y della particella in modo tale
che i vari punti campionati non distino più 1 o 2 gradi.

All'inizio del campionamento, la particella può trovarsi in un punto
qualunque della circonferenza.
Siccome devo fermare il campionamento dopo un numero prefissato di giri,
devo contare quanti giri completi ha fatto la particella.

I modi che mi sono inventato si basano sull'utilizzo dell'arcotangente,
ma ho problemi quando la posizione iniziale è prossima a +/- 180° perché
partendo ad esempio, da -179.5°, quando c'è il passaggio da 179.6° a
-179.3° mi perdo il conteggio del giro fatto.
Archaeopteryx 5 Lug 2017 14:10
> I modi che mi sono inventato si basano sull'utilizzo
> dell'arcotangente, ma ho problemi quando la posizione
> iniziale è prossima a +/- 180° perché partendo ad
> esempio, da -179.5°, quando c'è il passaggio da 179.6°
> a -179.3° mi perdo il conteggio del giro fatto.


E' un software? Perché se lo è, usare l'arcotangente non è
solo un carico inutile alla CPU ma dà proprio i problemi
che esponi. In un caso come questo io personalmente
esaminerei il cambio di segno delle coordinate. Certo, ci
saranno un sacco di if e else ma almeno non hai i pasticci
di una funzione trigonometrica che è sempre a meno di
multipli dell'argomento e guadagni in velocità.


--
"La teoria è sapere come funzionano le cose e
non sapere come farle funzionare; la pratica è
sapere come far funzionare la cose senza sapere come
funzionano; il nostro scopo è unire la pratica
alla teoria per riuscire a non far funzionare
le cose senza capire come abbiamo fatto"
Cristiano 5 Lug 2017 15:29
On 05/07/2017 14:10, Archaeopteryx wrote:
> E' un software? Perché se lo è, usare l'arcotangente non è solo un
> carico inutile alla CPU ma dà proprio i problemi che esponi. In un caso
> come questo io personalmente esaminerei il cambio di segno delle
> coordinate. Certo, ci saranno un sacco di if e else ma almeno non hai i
> pasticci di una funzione trigonometrica che è sempre a meno di multipli
> dell'argomento e guadagni in velocità.

E' un software, ma non ho particolari problemi di velocità, perché tutta
la valanga di calcoli a valle richiede un tempo enormemente superiore
rispetto a un'atan2 e qualche if.

Comunque, sto testando il nuovo metodo che ho trovato; somma tutti gli
angoli da un campionamento all'altro senza uso di funzioni
trigonometriche e con 2 if, pare funzionare...

Cristiano
radicale.001@gmail.com 5 Lug 2017 15:35
Il giorno mercoledì 5 luglio 2017 12:37:58 UTC+2, Cristiano ha scritto:
> Ho una particella che si muove lungo una circonferenza in senso
> antiorario (angolo crescente) con velocità periferica quasi costante.
>
> Ogni tanto campiono le coordinate x e y della particella in modo tale
> che i vari punti campionati non distino più 1 o 2 gradi.
>
> All'inizio del campionamento, la particella può trovarsi in un punto
> qualunque della circonferenza.
> Siccome devo fermare il campionamento dopo un numero prefissato di giri,
> devo contare quanti giri completi ha fatto la particella.
>
> I modi che mi sono inventato si basano sull'utilizzo dell'arcotangente,
> ma ho problemi quando la posizione iniziale è prossima a +/- 180° perché
> partendo ad esempio, da -179.5°, quando c'è il passaggio da 179.6° a
> -179.3° mi perdo il conteggio del giro fatto.

dunque mumble mumble ... vediamo se riesco ad aiutarti ...

1)
tanto per cominciare tu 'ste coordinate in che forma ce l' hai ?
Cartesiana ? Polare ? Hai la possibilità di passare da una all' altra ?

2)
e senti : 'sta circonferenza ha quale equazione ? Nel senso : è
centrata sull' origine degli assi oppure ?

Dimme 'npo.
JTS 5 Lug 2017 21:35
Am 05.07.2017 um 12:38 schrieb Cristiano:

>
> I modi che mi sono inventato si basano sull'utilizzo dell'arcotangente,
> ma ho problemi quando la posizione iniziale è prossima a +/- 180° perché
> partendo ad esempio, da -179.5°, quando c'è il passaggio da 179.6° a
> -179.3° mi perdo il conteggio del giro fatto.

Io questo non lo ho capito bene.
Do per scontato che tu stia definendo gli angoli con il "salto" sulla
semiretta negativa dell'asse cartesiano x.
Supponiamo che parti da -179.5°. La successiva misura dovrebbe darti un
valore maggiore di -179.5° (ipotizzando che tu non abbia errori
rilevanti nelle misure); 179.6° come fa a venire fuori?

In caso, puoi postare il codice?

Sul metodo con la somma degli angoli sono d'accordo con l'osservazione
di Archaeopteryx.

---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
https://www.avast.com/antivirus
Archaeopteryx 5 Lug 2017 22:06
> Comunque, sto testando il nuovo metodo che ho trovato;
> somma tutti gli angoli da un campionamento all'altro
> senza uso di funzioni trigonometriche e con 2 if, pare
> funzionare...

Per funzionare funziona ma se devi controllare un numero
molto elevato di giri potresti avere errori cumulativi. Ma
chiaramente tutto dipende dall'intero contesto, da quanti
giri sono e da quanta precisione serve.

ciao!

Apx

--
"La teoria è sapere come funzionano le cose e
non sapere come farle funzionare; la pratica è
sapere come far funzionare la cose senza sapere come
funzionano; il nostro scopo è unire la pratica
alla teoria per riuscire a non far funzionare
le cose senza capire come abbiamo fatto"

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Matematica. La regina delle scienze | Tutti i gruppi | it.scienza.matematica | Notizie e discussioni matematica | Matematica Mobile | Servizio di consultazione news.