Coordinate di due punti su circonferenza

di il
1 risposte

Coordinate di due punti su circonferenza

Buonasera dovrei realizzare una funzione che mi consenta, dati due punti (A e B) disposti su una circonferenza che formano un triangolo equilatero con il centro, le nuove coordinate dei due punti (A e B) che ottengo traslandoli lungo la circonferenza stessa "aprendo" l'angolo tra di essi ed il centro finché non verifico una determinata condizione. Riesco a scrivere una funzione che mi restituisce le coordinate x e y di un punto traslandolo sulla circonferenza e conoscendo oltre al centro anche un altro punto fisso ma non riesco a risolvere il mio problema .
Avete qualche suggerimento? Inoltre è possibile chiedere ad una funzione di restituirmi due vettori separati (uno che conterà le coordinate x e y di un punto e il secondo vettore con le coordinate x e y del secondo)?

Grazie

1 Risposte

  • Re: Coordinate di due punti su circonferenza

    Dovresti pubblicare il codice che hai scritto, in modo che si possa cercare di capire quale sia il problema.

    Non è chiaro quale sia il problema:
    [*] cosa intendi con "aprire l'angolo"'
    [*] come è definita la "condizione" che devi verificare?
    [*] quali sono gli input e gli output?

    Conoscendo il centro della circonferenza e la lunghezza del raggio, tutti i punti della circonferenza avranno:
    [*] ascissa= ascissa del centro + raggio * cos(teta)
    [*] ordinata= ordinata del centro + raggio * sin(teta)

    Se conosci l'angolo formato dal raggio che congiunge il punto desiderato con in centro, basta usare queste relazioni per trovare le coordinate dei punti.

    Se conosci le coordinate di un punto sulla circonferenza, puoi calcolarne l'angolo con la funzione "atan2" (la funzione ritorna l'angolo in radianti)
    [*] atan2([ordinata del punto - ordinata del raggio],[ascissa del punto - ascissa del raggio])

    A questo punto puoi incrementare o decrementare l'angolo per trovare altri punti (ammesso che sia questo che devi fare).

    Per far sì che una funzione restituisca più un parametro in output, basta specificarne l'elenco nella dichiarazione.
    Ad esempio la funzione:
    
    function [vettore_1, vettore_2]=my_function(input_1,input_2,input_3)
    
    richiede tre parametri in input e restituisce due parametri in output.

    Fai fai riferimento alla documentazione per la definizione delle funzioni per i dfettagli.

    Volendo è possibile definire funzioni che restituiscano un numero variabile di output utilizzando al varaibile "varargout".
Devi accedere o registrarti per scrivere nel forum
1 risposte