Chiarimento su patch(X,Y,C)

di Anonimizzato24958 il
4 risposte
Dati più quadrati intersecati tra loro in un piano cartesiano, conoscendo i punti (x,y) che compongono ciascun quadrato mi servirebbe calcolarmi l'area della figura totale.
Tra la documentazione ho trovato la funzione patch(X,Y,C) che consente di creare un poligono. Pensate possa aiutarmi a risolvere il problema? come potrei poi arrivare all'area della figura?
Grazie

4 Risposte

  • ask_raf ha scritto:


    Per definire l'inviluppo dei quadrati puoi provare con:

    https://it.mathworks.com/help/matlab/ref/polyshape.union.html

    la funzione opera solo su due poligoni, ma puoi provare ad invocarla in modo iterativo.
    Sfruttando questa funzione è per caso anche possibile farsi restituire le coordinate in termini di valore della x e della y dei diversi vertici che vengono fuori dalle diverse intersezioni dei poligoni. Mi serve proprio una funzione che mi restituisca in una matrice (n righe, 2 colonne una per la x e una per la y) unicamente i vertici e anche io ho un problema in cui ho una serie di quadrati sparsi (anche sovrapposti e intersecati) nello spazio bidimensionale.
    Se può servire come informazione il singolo quadrato lo disegno attraverso la funzione patch. Grazie
  • Al momento non ho accesso a MatLab, ma, dalla documentazione in linea (https://it.mathworks.com/help/matlab/ref/polyshape.union.html#mw_43eb0de9-6f36-4c9c-b425-f5875f16ad82 si direbbe che se passi iterativamente le coordinate dei vertici dei quadrati alla funzione "polyshape" () la stessa ritorna un "object" che contiene, tra le altre informazioni, le coordinate dei vertici.
    Passando questi "object" alla funzione "union" (https://it.mathworks.com/help/matlab/ref/polyshape.union.html), questa ritorna un object che contiene le coordinate dei vertici del poligono risultante.

    Qui trovi l'esempio proposta dalla documentazione:
    https://it.mathworks.com/help/matlab/ref/polyshape.union.html#mw_43eb0de9-6f36-4c9c-b425-f5875f16ad82
  • ask_raf ha scritto:


    Al momento non ho accesso a MatLab, ma, dalla documentazione in linea (https://it.mathworks.com/help/matlab/ref/polyshape.union.html#mw_43eb0de9-6f36-4c9c-b425-f5875f16ad82 si direbbe che se passi iterativamente le coordinate dei vertici dei quadrati alla funzione "polyshape" () la stessa ritorna un "object" che contiene, tra le altre informazioni, le coordinate dei vertici.
    Passando questi "object" alla funzione "union" (https://it.mathworks.com/help/matlab/ref/polyshape.union.html), questa ritorna un object che contiene le coordinate dei vertici del poligono risultante.

    Qui trovi l'esempio proposta dalla documentazione:
    https://it.mathworks.com/help/matlab/ref/polyshape.union.html#mw_43eb0de9-6f36-4c9c-b425-f5875f16ad82

    Continuo ad avere difficoltà ho provato ad utilizzare polyshape per rappresentare i tre quadrati ma non giunto ad alcuna soluzione. (Ho aperto un post in cui ho inserito il codice). Visto che sei stato cosi gentile, potresti aiutarmi a capire dove sbaglio? io in pratica ho questi 3 quadrati che si intersecano, mi serve unificare la figura e averne i vertici. all'interazione successiva avrò questa figura più tre nuovi quadrati e dovrò calcolarmi sempre il politipo risultante e i vertici..... Purtroppo non ottengo niente di tutto questo!
Devi accedere o registrarti per scrivere nel forum
4 risposte