Algoritmi

Sezione riservata ai sofware sviluppati in proprio
Rispondi
gmosfet
Junior
Junior
Messaggi: 108
Iscritto il: sabato 18 novembre 2006, 14:12
Località: Romano di Lombardia (BG)

Algoritmi

Messaggio da gmosfet » martedì 12 gennaio 2010, 15:04

Salve sto realizzando un piccolo programma per le macchine taglia polistirolo, mi interessava documentarmi su alcuni algoritmi di grafica per esempio algoritmi di selezione o di snap....mi spiego ho la mia finestra grafica dove disegno tutto quello che ho da disegnare se l'utente clicca con il mouse come faccio a trovare l'oggetto sul quale ha cliccato?......so come fare in via teorica ma sono sicuro che esistono algoritmi più veloci rispetto a, per esempio, calcolare la distanza di ogni oggetto rispetto al punto dove si trova il cursore del mouse e selezionare quello che si trova ad una distanza minore di DIST_MIN.....grazie!

safe60
Member
Member
Messaggi: 390
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Algoritmi

Messaggio da safe60 » mercoledì 13 gennaio 2010, 11:52

Per farti capire la complessita che c'e' nella risposta alla tua domanda suggerisco questo testo:

"Computer Graphics: Principles and Practice" che e' la fonte dalla quale partire per approfondire.
lo trovi anche qui :http://www.abebooks.it/9780201848403/Co ... 848406/plp
In particolare i capitoli dove parla dei device di output e dei concetti di Device, Viewport
e trasformazione di coordinate.

In prima approssimazione ti posso dire che, se ho capito bene, quello che vuoi ottenere e' una funzione piuttosto sofisticata di un CAD vero e proprio. Tutt'altro che banale da realizzare partendo da zero.

Sandro

Avatar utente
Dragonfly
Newbie
Newbie
Messaggi: 41
Iscritto il: mercoledì 16 luglio 2008, 14:40
Località: Vercelli

Re: Algoritmi

Messaggio da Dragonfly » giovedì 14 gennaio 2010, 13:55

Dipende da molti fattori tra cui:
1) da come disegni
2) da quale velocità  vuoi ottenere
3) quali enti stai disegnando

è ovvio che poi devi avere un'ottima dimestichezza con la matematica...

Spiega che vediamo cosa fare

gmosfet
Junior
Junior
Messaggi: 108
Iscritto il: sabato 18 novembre 2006, 14:12
Località: Romano di Lombardia (BG)

Re: Algoritmi

Messaggio da gmosfet » giovedì 14 gennaio 2010, 16:08

Allora forse è meglio essere più precisi.....intanto per la parte grafica uso la libreria opengl..
allora ho una lista di entità  che posso disegnare questa lista è definita tramite una classe Figura .....e da questa classe derivano per ereditarietà  le classi linea punto rettangolo etc etc...
il primo algoritmo che mi interessa sviluppare è quello di selezione...quindi se io clikko in un punto di coordinate X1 Y1
per sapere se ho cliccato su una figura devo scorrere tutta la lista degli oggetti renderizzati e calcolare la distanza tra il punto X1 Y1 e vedere se questa è per esempio minore di 3 pixel se è cosi ho cliccato su quell'oggetto e quindi lo segno come selezionato....ora l'algoritmo cosi funziona solo che magari rende lento il tutto sono sicuro che esistono algoritmi più efficienti....e quindi vorrei documentarmi su questi algoritmi.....la matematica non è un problema...

Avatar utente
Dragonfly
Newbie
Newbie
Messaggi: 41
Iscritto il: mercoledì 16 luglio 2008, 14:40
Località: Vercelli

Re: Algoritmi

Messaggio da Dragonfly » giovedì 14 gennaio 2010, 22:46

bene!
Altro nodo cruciale: in che linguaggio? C++?

gmosfet
Junior
Junior
Messaggi: 108
Iscritto il: sabato 18 novembre 2006, 14:12
Località: Romano di Lombardia (BG)

Re: Algoritmi

Messaggio da gmosfet » giovedì 14 gennaio 2010, 23:00

si c++..

Avatar utente
turbina
God
God
Messaggi: 4772
Iscritto il: domenica 19 novembre 2006, 14:34
Località: Paese TREVISO
Contatta:

Re: Algoritmi

Messaggio da turbina » giovedì 5 aprile 2012, 22:46

Guardando la data di questo argomento è INCREDIBILE come su certi argomenti ci sia un buio improvviso dopo un evidente calore costruttivo :|
Fresa CNC ISEL Gantry027, Tornio CNC DM3000, 3DP PrusaI3.

Avatar utente
Dragonfly
Newbie
Newbie
Messaggi: 41
Iscritto il: mercoledì 16 luglio 2008, 14:40
Località: Vercelli

Re: Algoritmi

Messaggio da Dragonfly » giovedì 17 maggio 2012, 12:44

Beh... la mia collaborazione c'era, ma può essere che sia stato troppo complesso.
Ultima modifica di girasole il venerdì 25 maggio 2012, 15:53, modificato 1 volta in totale.
Motivazione: eliminato riporto inutile

sl45h
Newbie
Newbie
Messaggi: 13
Iscritto il: giovedì 3 giugno 2010, 12:32
Località: udine

Re: Algoritmi

Messaggio da sl45h » giovedì 24 maggio 2012, 22:02

ciao a tutti,
e' da un po' che non frequento il forum :oops: sebbene ogni tanto qualche sbirciatina la davo... =D>
se ho capito stai cercando qualche algoritmo "veloce" per la ricerca di dati presenti nel tuo database, fondamentale per una ricerca veloce e' la scrittura e l'organizzazione dei dati gia' presenti nel db (i files di testo sono notevolmente piu' lenti dei files binari) specie quando si devono leggere molti dati. Un altra possibilita' sta nell' organizzare i dati per tipologie comuni, ovvero punti piuttosto che poligoni o segmenti, e successivamente
per ordinamento di coordinate (ad esempio basato sul baricentro dell'oggetto). Vedi che il tutto non puo' essere lasciato al caso, l'organizzazione del db e' un passo fondamentale che puo' fare la differenza nella succesiva fruibiilta' dei dati. In soffitta spero di avere ancora qualche libro che tratta di queste problematiche compresi esempi di algoritmi applicabili.
Fondamentalmente la via che hai descritto e' quella canonica, sicuramente ci sono algoritmi piu' "furbi" che sfruttano ad. esempio il processore grafico, (pero' qui ci addentriamo in mondi complessi di gestione di driver specifici ecc...) e non penso sia il caso di impazzire. Ricorda bene l'organizzazione dei dati e' fondamentale, poi l'algoritmo di controllo e di calcolo per la verifica puo' essere ottimizzato in funzione della organizzazione stessa del db (se hai dati gia' ordinati in x,y sei molto piu' diretto nella ricerca sapendo gia' dove ti trovi), e qui lo sai solo tu come ti sei "organizzato".
Ai tempi (direi un 25 anni fa) mi scrissi un cad in c per la gestione di rilievi planoaltimetrici a curve di livello (ordinata per oggetti quello che oggi si definisce GIS) tanta era la passione che avevo per il mio lavoro (di allora).
Spero di esserti stato di aiuto in qualche modo, ciao e fammi sapere

adriano
Ultima modifica di girasole il venerdì 25 maggio 2012, 15:53, modificato 1 volta in totale.
Motivazione: eliminato riporto inutile

Rispondi

Torna a “Home Made”