Domanda

Come posso calcolare l'arco tra due cerchi? L'arco deve essere tangente ai due punti sui cerchi.

Ecco una foto che illustra esso. Sto cercando di codice e calcolare l'arco arancione e l'arco blu.

alt text

dettagli:

L'applet dovrebbe avere 2 modalità: 2D e 3D. L'utente dovrebbe essere in grado di passare da una all'altra premendo la barra spazio. In modalità 2D, l'utente può modificare la posizione dei quattro punti di controllo A, B, C e D e dovrebbe vedere 4 archi circolari definiti da tali punti come segue. Le bugie arco rossi su un cerchio di centro A e raggio || AB ||. Le bugie arco verde su un cerchio di centro C e raggio || CD ||. Le bugie arancione arco su un cerchio di supporto che è tangente al cerchio di supporto dell'arco rosso in B e anche tangente al cerchio verde in un punto E, che il codice deve calcolare. Questo cerchio di supporto non deve separare A e C (cioè, A e C deve essere o sia in quel cerchio o fuori di esso). Analogamente, le bugie arco blu su un cerchio che fa A e C non separato e che è tangente al cerchio sostegno dell'arco verde a D ed è anche tangente al cerchio sostegno dell'arco rosso ad un certo punto F quale il mosto programma calcolare. L'arco rossa corre in senso orario da F a B. L'arancione arco piste da B a E. Le piste arco verdi da E a D. Le arco piste blu da D ritorna F. Questi quattro archi formano una superficie liscia confine di una regione di S l'aereo. Si noti che a seconda della posizione dei punti di controllo, l'arancio e blu archi possono essere ciascuno sia concava o convessa. Nella figura sotto, l'arco blu è concava. (Nella foto sopra)

È stato utile?

Soluzione

Ci sono molti "cerchi tangenti"!

alt text

Altri suggerimenti

In linea generale, non è possibile. Disegnare rette passanti AB e CE, e li estendersi al punto di intersezione. Chiamare l'intersezione M. È possibile disegnare un arco attraverso la B ed E che è tangente circoli se e solo se BM = EM.

Sia G il centro del cerchio per l'arco tra B e E ed H il cerchio per l'arco tra F e D.

Il punto chiave è che una linea che interseca un cerchio è una linea tangente se e solo se è perpendicolare al raggio nel punto di intersezione. Questo significa che se si dispone di due cerchi tangenti, allora il punto di tangenza e i centri dei cerchi sono allineati.

Quindi questo significa che il centro G è l'intersezione della linea definita da B e A e la linea definita da E e C. Analogamente, il centro H è l'intersezione della linea definita da A e F e la linea definita da C e D.

Alla luce di questi centri, è possibile determinare i raggi dei due cerchi solo dalla distanza dal centro al punto di tangenza. Da lì è possibile utilizzare i metodi standard per disegnare l'arco dato i suoi punti finali e il cerchio è parte.

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