salve a tutti.

mi piacerebbe sapere come posso calcolare la distanza tra un punto P e un segmento ( calcolato come distanza tra un punto P1 e uno P2 ) in un programma scritto in C.

per la natura del problema, una soluzione alternativa ma comunque efficace potrebbe essere quella di controllare se tale segmento in interseca o tange una certa circonferenza di raggio R centrata proprio in P.

grazie in anticipo.

chiesto 09 Nov '13, 17:16

RRR's gravatar image

RRR
10234

Intendi distanza di P dalla retta individuata da P1 e P2?

(09 Nov '13, 17:33) enzotib ♦♦ enzotib's gravatar image

si io calcolo la retta per P1 e P2 e vorrei la distanza di P da essa!

(09 Nov '13, 18:00) RRR RRR's gravatar image

C'è una formula relativamente semplice per calcolare tale distanza, se siamo nel piano.
La formula è la seguente:

alt text

dove P1=(x1,y1), P2=(x2,y2) e P=(x0,y0).
Questa è ottenuta mettendo insieme le note formule di geometria analitica della retta per due punti e della distanza di un punto da una retta.
Nel caso ti interessi la formula in tre dimensioni, è un po' più complicata, fammi sapere.

coll. permanente

ha risposto 09 Nov '13, 18:19

enzotib's gravatar image

enzotib ♦♦
14.0k112186

modificato 09 Nov '13, 18:39

fantastico grazie mille!! grande!!!

(09 Nov '13, 18:55) RRR RRR's gravatar image

@RRR, è meglio (e risparmi punti reputazione) se accetti la risposta e magari le dai un voto positivo, che non ti costa niente.

(09 Nov '13, 19:00) enzotib ♦♦ enzotib's gravatar image

è la seconda domanda che faccio, grazie per il suggerimento. se posso, a cosa servono i punti reputazione)

(09 Nov '13, 19:41) RRR RRR's gravatar image

@RRR: guarda la parte "Come funziona il sistema di karma?" nelle FAQ.

(09 Nov '13, 20:04) enzotib ♦♦ enzotib's gravatar image

e se ora volessi sapere se la proiezione così calcolata ( che è un punto, P*, appartenente alla retta per P1 e P2 ) appartiene al segmento compreso tra P1 e P2?

(11 Nov '13, 15:46) RRR RRR's gravatar image

@RRR: posta un'altra domanda, ma prima accetta questa, se ha risolto.

(11 Nov '13, 18:40) enzotib ♦♦ enzotib's gravatar image

Per fare alla svelta farai un controllo di coordinate x ed y del punto P. P1 e P2 generano un rettangolo di cui il segmento P1P2 è la diagonale. Assumendo per esempio che P1 è in basso a sinistra e P2 in alto a destra il punto P appartiene a P1P2 se ha la x compresa tra xP1 e xP2 e la y compresa tra yP1 e yP2 in ogni altro caso è fuori dal segmento.

(18 Nov '13, 15:06) Antonio1962 Antonio1962's gravatar image

@Antonio1962: ho trasformato in commento dato che mi pare più una risposta al commento precedente di @RRR che una risposta al quesito originario.
Inoltre la tua risposta è sostanzialmente identica a quella da me data alla domanda di @RRR postata poi separatamente: http://chiedi.ubuntu-it.org/questions/8103/punto-appartenente-a-segmento

(18 Nov '13, 16:59) enzotib ♦♦ enzotib's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×103

domanda posta: 09 Nov '13, 17:16

domanda visualizzata: 1,462 volte

ultimo aggiornamento: 18 Nov '13, 16:59

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.