Formule di posizione di un rettangolo contenuto in un cerchio

FreeRaider
Salve a tutti, prima di tutto vorrei presentarmi. Mi chiamo Frank e nonostante le "matematiche" studiate non riesco a risolvere il problema che segue:

dati un cerchio con raggio = 1000 u (dove u è un'unità di misura) con centro in (0, 0) in un piano cartesiano e un rettangolo con w = 100 e h = 150 ( dove w è la lunghezza della base ed h è l'altezza), come trovo le formule generiche per le coordinate X e Y del vertice [strike]alto-destro[/strike] alto-sinistro del rettangolo, sapendo che il centro del rettangolo è un punto del raggio inclinato di 30° e che il vertice[strike]basso-sinistro[/strike] basso-destro è un punto sulla circonferenza?

Per una maggiore chiarezza, allego un disegno (fatto in CAD) del problema. Nel disegno, sono le formule delle coordinate del punto A che vorrei sapere.

Spero di essere stato chiaro.

Un grazie a tutti.

Risposte
anonymous_0b37e9
"FreeRaider":


... e che il vertice basso-sinistro è un punto sulla circonferenza?


Veramente, guardando il disegno, è il vertice basso-destro che dovrebbe appartenere alla circonferenza.

FreeRaider
Maledizione, ho scritto in modo errato. Hai ragione e Il disegno è corretto.

anonymous_0b37e9
Indicando con $P(x_P,y_P)$ il vertice del rettangolo appartenente alla circonferenza e con $C(x_C,y_C)$ il centro del rettangolo, dovresti risolvere il sistema comprendente le seguenti $4$ equazioni:

Condizione di appartenenza del punto $P(x_P,y_P)$ alla circonferenza

$x_P^2+y_P^2=r^2$

Condizione di appartenenza del punto $C(x_C,y_C)$ alla retta

$x_C+sqrt3y_C=0$

Distanza orizzontale tra il punto $P(x_P,y_P)$ e il punto $C(x_C,y_C)$ uguale alla semibase

$x_P-x_C=w/2$

Distanza verticale tra il punto $P(x_P,y_P)$ e il punto $C(x_C,y_C)$ uguale alla semialtezza

$y_C-y_P=h/2$

Tuttavia, dopo un po' di manipolazioni:

$\{(x_P^2+y_P^2=r^2),(y_P=-sqrt3/3x_P+sqrt3/6w-h/2):}$

FreeRaider
Grazie per la risposta.

Dato che nel frattempo ho risolto il caso in cui l'angolo è pari a zero con le seguenti formule (di cui sono sicuro che essendovi arrivato per tentativi ho omesso sicuramente la parte che riguarda il valore dell'angolo ossia zero gradi):

$ X=r*{1+cos [arcsin ((h)/(2*r) ) ]}-w $
$ Y=r*{1+sin [arcsin ((h)/(2*r) ) ]}-h $

invece di utilizzare il sistema proposto, come posso riutilizzare tali formule tenendo conto della rotazione dell'angolo (da zero a 30 gradi)?

FreeRaider
"anonymous_0b37e9":
Indicando con $P(x_P,y_P)$ il vertice del rettangolo appartenente alla circonferenza e con $C(x_C,y_C)$ il centro del rettangolo, dovresti risolvere il sistema comprendente le seguenti $4$ equazioni:

Condizione di appartenenza del punto $P(x_P,y_P)$ alla circonferenza
$x_P^2+y_P^2=r^2$

Condizione di appartenenza del punto $C(x_C,y_C)$ alla retta
$x_C+sqrt3y_C=0$

$x_P-x_C=w/2$

$y_C-y_P=h/2$

Tuttavia, dopo un po' di manipolazioni:

$\{(x_P^2+y_P^2=r^2),(y_P=-sqrt3/3x_P+sqrt3/6w-h/2):}$


Ma io non conosco le coordinate né di P né di C

anonymous_0b37e9
Mi sono accorto che si poteva impostare un sistema più semplice. Per questo ho modificato.

FreeRaider
"anonymous_0b37e9":


Tuttavia, dopo un po' di manipolazioni:

$\{(x_P^2+y_P^2=r^2),(y_P=-sqrt3/3x_P+sqrt3/6w-h/2):}$


Con questo sistema trovo le coordinate del punto P, giusto?

Ma a me interesserebbero le coordinate del punto A (vertice alto-sinistro)

anonymous_0b37e9
"FreeRaider":

Con questo sistema trovo le coordinate del punto P, giusto?

Certamente.
"FreeRaider":

Ma a me interesserebbero le coordinate del punto A (vertice alto-sinistro)

$\{(x_A=x_P-w),(y_A=y_P+h):}$

FreeRaider
La soluzione prospettata è corretta, ma avrei un paio di domande:

1) da dove scaturisce $ sqrt(3) $ in $ x_C + sqrt(3) y_C $ ?
2) se volessi utilizzare le funzioni trigonometriche (come ho fatto io per la risoluzione del caso in cui l'angolo era pari a zero), quale parte devo aggiungere per tenere conto della rotazione?

anonymous_0b37e9
Il punto $C(x_C,y_C)$ appartiene alla retta passante per l'origine che forma un angolo di 150° con il semiasse positivo delle ascisse:

$\{(m=tg150°=-sqrt3/3),(q=0):} rarr [y=-sqrt3/3x] rarr [x+sqrt3y=0]$

Immagino che il caso particolare che hai risolto preveda il rettangolo con i lati paralleli agli assi. Puoi confermarlo?

FreeRaider
Scusa per il ritardo nel risponderti, il caso con l'angolo pari a zero gradi ha come condizione le due di cui al primo post, ossia che il centro del rettangolo è un punto del raggio con angolo pari a zero (nel disegno di cui al primo post, il raggio è l'asse delle ascisse) e il vertice basso-destro è un punto della circonferenza (ma in questo caso, il rettangolo ha due vertici che sono contemporaneamente punti della circonferenza, sia il vertice basso-destro e sia il vertice alto-destro).

In formule:
$ X=r⋅{cos[arcsin(h/(2⋅r))]}−w $

$ Y=r⋅{sin[arcsin(h/(2⋅r))]}−h $

Nel arrivare a tali formule (per tentativi) ho pensato che una parte del cerchio (ovvero un segmento circolare) si sarebbe creato per il fatto che il lato destro del rettangolo sarebbe stata una corda, per questo ho usato arcoseno del rapporto tra h e 2 volte il raggio per trovarmi l'angolo da "dare in pasto" al coseno (nella formula di X) o allo stesso seno (nella formula di Y).

Visto che ci sono arrivato per tentativi, sicuramente avrò omesso una componente (che nel calcolo deve aver assunto il valore di 1 o di zero) che tiene conto dell'angolo di zero gradi.

Quindi, secondo te (voi), per utilizzare le formule sopra esplicitate e tenere conto della rotazione (da zero gradi a 30 gradi, da 30 gradi a 60 gradi e così via), quale componete ci mancherebbe?

Grazie per l'aiuto e le spiegazioni.

anonymous_0b37e9
Nel caso generale è necessario modificare solo la seconda equazione:

Condizione di appartenenza del punto $C(x_C,y_C)$ alla retta

$sin\thetax_C-cos\thetay_C=0$

e risolvere il seguente sistema:

$\{(x_P^2+y_P^2=r^2),(y_P=tg\thetax_P-w/2tg\theta-h/2):}$

Nel caso in cui $\theta=0$:

$P(sqrt(r^2-h^2/4),-h/2) rarr Q(sqrt(r^2-h^2/4),h/2)$

appartiene alla circonferenza, avendo indicato con $Q$ il vertice in alto a destra. Se ho capito bene, tu vorresti determinare la soluzione generale senza risolvere quel sistema, piuttosto, applicando un'opportuna trasformazione alla soluzione del caso particolare corrispondente a $\theta=0$.

FreeRaider
Si, la soluzione generale usando una trasformazione sarebbe ideale (se è possibile) al posto di risolvere il sistema.

Comunque mi sono dimenticato a dire che l'angolo zero per me si trova a destra del centro e che la rotazione del raggio è in senso orario (allego una immagine per più chiarezza).

Grazie.

FreeRaider
Allego anche il grafico del caso $ Theta = 0 $

anonymous_0b37e9
Con la convenzione adottata, basta modificare la seconda equazione del sistema iniziale:

Condizione di appartenenza del punto $P(x_P,y_P)$ alla circonferenza

$x_P^2+y_P^2=r^2$

Condizione di appartenenza del punto $C(x_C,y_C)$ alla retta

$sin\thetax_C+cos\thetay_C=0$

Distanza orizzontale tra il punto $P(x_P,y_P)$ e il punto $C(x_C,y_C)$ uguale alla semibase

$x_P-x_C=w/2$

Distanza verticale tra il punto $P(x_P,y_P)$ e il punto $C(x_C,y_C)$ uguale alla semialtezza

$y_C-y_P=h/2$

Dopo un po' di manipolazioni:

$\{(x_P^2+y_P^2=r^2),(y_P=-tg\thetax_P+w/2tg\theta-h/2):}$

Al variare di $\theta$ e a partire dalla soluzione corrispondente a $\theta=0$ il rettangolo subisce una traslazione. Ovviamente, il vettore che identifica la traslazione dipende da $\theta$. Per determinarlo è necessario comunque risolvere il sistema semplificato di due equazioni in due incognite. Per quale motivo sei interessato a questa procedura?

FreeRaider
Esiste un modo diretto di calcolare le coordinate del punto A senza utilizzare il sistema e partendo dalle equazione che ho scritto io?

Volevo sviluppare uno script per un software, in modo tale che l'utente utilizzatore, inserendo $ Theta $, $ W $ e $ H $, avesse una rappresentazione grafica del cerchio e della figura (rettangolo o quadrato) con il centro della figura sul raggio di angolo $ Theta $ e un vertice sulla circonferenza.

anonymous_0b37e9
Se dovessi fare una simulazione grafica al computer, dopo aver assegnato $(r,\theta,w,h)$, procederei così:

Passo 1: $m=-tg\theta$

Passo 2: $q=-w/2m-h/2$

Passo 3: $x_A=(-mq+sqrt(m^2r^2-q^2+r^2))/(m^2+1)-w$

Passo 4: $y_A=mx_A+q+h$

Insomma, un impiego di risorse trascurabile, se è questo a preoccuparti. Ti ricordo che quelle formule valgono solo se:

$\{(x_Ay_P),(\thetane\pi/2):}$

"FreeRaider":

Esiste un modo diretto di calcolare le coordinate del punto A senza utilizzare il sistema e partendo dalle equazioni che ho scritto io?

Francamente, la procedura di cui sopra mi sembra sufficientemente diretta. Non credo valga la pena determinarne un'altra, sempre che esista. Tra l'altro, le tue formule utilizzano le funzioni goniometriche inverse, assolutamente non necessarie.

FreeRaider
"anonymous_0b37e9":
Insomma, un impiego di risorse trascurabile, se è questo a preoccuparti. Ti ricordo che quelle formule valgono solo se:

$ \{(x_Ay_P),(\thetane\pi/2):} $


E se l'utente inserisce $ pi /2 $ non risolve nulla?

FreeRaider
Ho provato a seguire il tuo schema, ma ci deve essere qualche errore, poichè quando pongo $ vartheta = 60° $ il rettangolo è disegnato fuori dalla circonferenza.

Comunque grazie dell'aiuto.

anonymous_0b37e9
Scusa, hai ragione, avevo sbagliato un segno nei primi due passi:

Passo 1: $m=-tg\theta$

Passo 2: $q=-w/2m-h/2$

Ho modificato anche il messaggio precedente, prova adesso.

P.S.
Se $[\theta=\pi/2]$ è necessario risolvere il sistema separatamente:

$\{(x_P^2+y_P^2=r^2),(x_P=w/2):} rarr \{(y_P=-sqrt(r^2-w^2/4)),(x_P=w/2):}$

Ad ogni modo, le formule sono queste:

$\{(x_A=-w/2),(y_A=-sqrt(r^2-w^2/4)+h):}$

Nello script basta mettere un if.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.