Domanda

Si supponga si è dato un cerchio con la linea AB che contiene il suo O il centro, in modo tale che A e B sono sul cerchio (OA = OB = raggio). Una tangente t è disegnata sul punto A, e Dovrei calcolare la mappatura di alcuni punti (a, b, c, d ...) del cerchio per i punti sulla tangente (a, bt, ct, dt, ...) in modo che la Aa distanza (la distanza lungo il cerchio) è uguale alla distanza Aat (la distanza lungo la tangente) (e lo stesso per le distanze Ab, AC, AD). Ma, qui, certo vincolo dovrebbe essere considerato: i punti del cerchio (tra (a, b, c, d)) che sono da un lato del cerchio da A a B deve essere collocato su un lato della tangente (la vicina), e quelli dall'altro lato del modulo del cerchio a a B deve essere posizionato sul lato opposto. Fondamentalmente, il cerchio dovrebbe essere diviso in B, e poi mappati alla tangente. Spero che questa spiegazione è sufficiente.

Si dovrebbe notare che non ho informazioni su coordinate di A, B, O, a, b, c, d. Ho dovuto calcolare (a, bt, ct, dt). Per risolvere questo problema, ho due approcci, ma non sono sicuro di come avrei potuto fare in modo che sempre funzionano correttamente.

1) I calcolare l'equazione della tangente al punto A. Quindi, per ogni punto (a, b, c, d) calcolo la distanza da A (lungo il cerchio), e utilizzare queste distanze per calcolare (a, bt, ct, dt ...) lungo la tangente. Quello che non sai qui è come calcolare le distanze da A a (a, b, c, d). Il problema è la determinazione 'lato corretto', che significa come dovrei determinare se il punto deve essere mappata su un lato della tangente o l'altro. Quale sarebbe il modo per determinare questo.

2) I calcolare l'equazione della tangente al punto A. Quindi, per ogni punto (a, b, c, d) calcolo la distanza da A (lungo il cerchio), e utilizzare queste distanze per calcolare (a, bt, ct, dt ...) lungo la tangente. Per determinare il 'lato corretto' di un dato punto, posso usare la proiezione di tale punto alla tangente. Ma, anche con questo, come so 'da che parte è che'? Forse ci sono modi molto più semplici per farlo.

Qualsiasi suggerimento su come fare questo è il benvenuto. Nel caso in cui non ero abbastanza precisa, io elaboro.

È stato utile?

Soluzione

Per determinare il "lato" del cerchio si è in, è fondamentalmente necessario determinare quale lato della linea AB sei su. Per la risposta a questo, si veda ad esempio Determinare quale lato di una linea a punto giace .

Altri suggerimenti

Un suggerimento migliore sarebbe quella di calcolare una trasformazione che mappa il cerchio in un cerchio unità con il centro nell'origine coordinate, in modo che A avrà coordinate (1, 0) (e B rispettivamente (-1, 0) ). La trasformazione deve essere dilatazione con rotazione. Ora, la distanza sul Aa è solo l'AOA angolo misurato in radianti. Così si può facilmente calcolare a, è (1, atan2 (y, x) ) dove ( x, y) sono le coordinate di un.

Ora, l'unica cosa che serve è tornare a quello originale sistema di coordinate, applicando la trasformazione inversa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top