Formule di posizione di un rettangolo contenuto in un cerchio
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.
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
"FreeRaider":
... e che il vertice basso-sinistro è un punto sulla circonferenza?
Veramente, guardando il disegno, è il vertice basso-destro che dovrebbe appartenere alla circonferenza.
Maledizione, ho scritto in modo errato. Hai ragione e Il disegno è corretto.
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):}$
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):}$
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)?
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)?
"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
Mi sono accorto che si poteva impostare un sistema più semplice. Per questo ho modificato.
"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)
"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):}$
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?
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?
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?
$\{(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?
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.
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.
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$.
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$.
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.
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.
Allego anche il grafico del caso $ Theta = 0 $
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?
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?
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.
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.
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):}$
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.
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_A
"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.
"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?
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.
Comunque grazie dell'aiuto.
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.
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.