inheritance basato su vicinanza
Moderatori: Arkimed, natas, visualtricks, cappellaiomatto
-
- Advertising
-
- Messaggi: 10
- Iscritto il: ven giu 15, 2012 5:07 pm
inheritance basato su vicinanza
sto affrontando un problema che non riesco proprio a risolvere e a trovare gli strumenti adatti, mi spiego
ho un cloner con X cloni e un matrix con lo stesso numero di X oggetti (non importa la forma dell'uno e dell'altro, l'importante e che siano diversi ovviamente, per trasformare da uno all'altro).
Il problema è che inheritance sposta basandosi sull'index dei punti, cioè il punto 0 del clone prende il posto del punto 0 del matrix che è il target, invece ho bisogno che ogni punto del primo clone prenda il posto del punto più vicino, in modo che ogni punto compia lo spostamento minore.
Sono giorni che cerco ma a parte il proximity shader, che nn saprei come usare in questo caso, non trovo niente che possa far lavorare sulla vicinanza.
Grazie per ogni aiuto!
- masterzone
- Site Admin
- Messaggi: 10365
- Iscritto il: ven set 17, 2004 5:34 pm
- Località: Verona
Re: inheritance basato su vicinanza
mmmm...su due piedi non mi viene alcun metodo in mente...
-
- Messaggi: 10
- Iscritto il: ven giu 15, 2012 5:07 pm
Re: inheritance basato su vicinanza
dato che si devono spostare da A al target B nel minor tempo possibile e tutte hanno la stessa velocità massima, forse bisognerebbe partire calcolando la distanza per tutti i vertici di A a ogni vertice di B; a questo punto se ho per esempio 20 vertici in A (e quindi anche in B) e per ognuno una lista con le 20 distanze, scelgo sempre il vertice con la minore distanza e gli altri li cancello. Tutti questi vertici con queste minori distanze le metto in ordine descrescente, e partendo da quella quindi più lontana in assoluto, accoppio gli index di A con gli index di B. Nel senso di creare un index di B basato sull'index di A a cui ha fornito la minor distanza!!
Così dovrei raggiungere lo scopo, ma forse si può vedere e risolvere anche in altri modi secondo voi?
Non so se mi son spiegato o sembra contorto, ma come operazioni matematiche mi sembra semplicissimo no? secondo voi si può fare con cinema? con xpresso??
Grazie
- cappellaiomatto
- Moderatore
- Messaggi: 1572
- Iscritto il: lun mag 07, 2012 5:12 pm
Re: inheritance basato su vicinanza
Ciaovisionaria ha scritto:Ciao a tutti,
sto affrontando un problema che non riesco proprio a risolvere e a trovare gli strumenti adatti, mi spiego
ho un cloner con X cloni e un matrix con lo stesso numero di X oggetti (non importa la forma dell'uno e dell'altro, l'importante e che siano diversi ovviamente, per trasformare da uno all'altro).
Il problema è che inheritance sposta basandosi sull'index dei punti, cioè il punto 0 del clone prende il posto del punto 0 del matrix che è il target, invece ho bisogno che ogni punto del primo clone prenda il posto del punto più vicino, in modo che ogni punto compia lo spostamento minore.
Sono giorni che cerco ma a parte il proximity shader, che nn saprei come usare in questo caso, non trovo niente che possa far lavorare sulla vicinanza.
Grazie per ogni aiuto!
hai una referenza video o qualche fotogramma di quello che vuoi realizzare.....spiegato così si fa veramente fatica a capire cosa vuoi ottenere.
Se mi fai capire cosa vuoi ottenere ti do volentieri una mano a scriptare la cosa in xpresso (sempre che sia realizzabile con xpresso)
Follow me on Twitter https://twitter.com/matteoc4dzone
Follow me on Vimeo https://vimeo.com/cappellaiomatto
-
- Messaggi: 10
- Iscritto il: ven giu 15, 2012 5:07 pm
Re: inheritance basato su vicinanza
in allegato un esempio che spero chiarisca,
c'è una scena A e una scena B. i vertici di A devono andare a prendere il posto di quelli di B, in modo che le traittorie compiute siano il più piccole possibili, in particolare sarebbe da ottimizzare partendo dalle traittorie più lunghe. Per esempio il vertice 0 della scena A non dovrebbe andare all'attuale vertice 0 della scena B(che sta quasi dalla parte opposta), ma probabilmente al 6 o 5 o7 o limitrofi della scena B.
E' più comprensibile ora ?
Grazie mille
- Allegati
-
- esempio inheritance da A a B.zip
- (62.56 KiB) Scaricato 100 volte
- cappellaiomatto
- Moderatore
- Messaggi: 1572
- Iscritto il: lun mag 07, 2012 5:12 pm
Re: inheritance basato su vicinanza
Follow me on Twitter https://twitter.com/matteoc4dzone
Follow me on Vimeo https://vimeo.com/cappellaiomatto
- cappellaiomatto
- Moderatore
- Messaggi: 1572
- Iscritto il: lun mag 07, 2012 5:12 pm
Re: inheritance basato su vicinanza
ci sono parecchi problemi a cui trovare una soluzione.
1) cercare il punto più vicino alla struttura di destinazione
2) calcolare la trasformazione
3) farlo in maniera ottimizzata e non alla "carlona"......i tempi di calcolo se non ottimizzati potrebbero rendere l'effector pesante come un macigno
ti do il mio consiglio....è un po certosino ma risolvi senza grossi sforzi
se la matrice di destinazione non ha un numero esagerato di punti come nell'esempio che mi hai allegato
esplodi l'icoesadro o quello che è
cancella tutti i poligoni e tieni solo i vertici
a questo punto dalla finestra di struttura dei punti cambia l'ordine dei vertici tenendo premuto su un vertice e spostandolo su e giù per la tabella.
In pratica sposti il vertice più vicino sull'indice 0 a mano.....poi fai la stessa cosa con il vertice 1 etc etc etc
Non è il massimo della vita ma è comunque una soluzione
Follow me on Twitter https://twitter.com/matteoc4dzone
Follow me on Vimeo https://vimeo.com/cappellaiomatto
-
- Advertising
FOLLOW US