Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813

    [C] verso di un poligono

    ciao a tutti,
    mi trovo davanti un problema a cui non riesco ancora a dare soluzione. Ho un array di punti bidimensionali che ha le seguenti proprietà:

    • Ogni punto dal successivo dista al massimo sqrt(2), cioè ogni punto è contiguo all'altro, anche in diagonale
    • il primo e l'ultimo punto sono anch'essi contigui, quindi la loro distanza è minore o uguale a sqrt(2)
    • non esistono duplicati


    in altre parole, questo insieme di punti ordinato descrivere i bordi di un poligono irregolare. Che metodo posso usare per creare una funzione che mi restituisca vero se questo array descrive un poligono, cui punti sono memorizzati in senso orario?
    Per un progetto che sto facendo mi serve sapere questa informazione.
    vi ringrazio anticipatamente
    p.s.: ho messo linguaggio C per non violare le regole del forum, ma a me serve una soluzione, non una vera e proprio implementazione!
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    117
    Un po' ho pensato ad alcune possibili soluzioni per dimostrare quanto chiedi, ma la grande quantità di casi particolari in cui ci si può trovare mi fa temere che le possibili condizioni cui avevo pensato non funzionino sempre, o che siano solo condizione necessaria, ma non sufficiente per dimostrare che il verso dei punti sia orario. Tra l'altro, non so perché, ma quell'sqrt(2) mi fa pensare che per la risoluzione si debba ricorrere a qualche funzione trigonometrica, ma forse mi sbaglio. :master:
    Credo che bisogni cercare più qualche risultato matematico valido per dimostrare quanto chiedi, poi l'implementazione viene da sé.

    Se non ricevi nessuna suggerimento qui su come implementare tale funzione, posso suggerirti di provare a chiedere sul forum di Matematicamente.it. Forse lì qualcuno più ferrato in cose del genere sa suggerirti quali condizioni è più opportuno verificare.
    Ciao!


    P.S. Il regolamento prevede che quando il tuo messaggio non è per un linguaggio specifico puoi usare il tag [?].

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    No, la radice di due è dovuta al fatto che la diagonale di un quadrato è lunga radice di 2. In pratica, un punto può spostarsi dal successivo sia lungo x che lungo y.

    Puoi definire meglio il problema? Se non ho capito male, ti viene dato un insieme di punti sapendo che sono adiacenti. Tu devi verificare se sono il contorno di un poligono? Cosa intendi quando dici che sono in senso orario?
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.