Bravo Salvio !
Mi ero incasinato …
Adesso sono arrivato a questo:
… Che e’ un po’ diverso dal tuo, ma non molto.
Bravo Salvio !
Mi ero incasinato …
Adesso sono arrivato a questo:
… Che e’ un po’ diverso dal tuo, ma non molto.
eeee no “Bravo” tu!
in questo caso lo hai “proprio modificato”
mentre io ho prima eliminato e poi reinserito (avendo già una matrice da 16)
quindi ho fatto un passaggio in più e vabbè (ci ho provato )
ps ma alla fine mi avevi buttato assist già da prima
perché in pratica mancava solo ricostruire la matrice
ahahahah lo dico io che sei proprio tremendo
(in pratica la mia soluzione va bene creando una matrice da zero)
edit:
anzi meglio usare “Replace” come hai fatto tu
inserendo una lista base all’interno e cambiando
gli indici che poi servono in base alla circostanza
Secondo me non è questo che deve preoccuparti: non sai quante righe di codice ci sono dietro un componente. Avrei potuto impacchettare la definizione in un unico componente: questo significa che é migliore di un’altra definizione che fa lo stesso lavoro? Secondo me a parità di obiettivo raggiunto da una definizione quello che conta è il tempo di esecuzione e le risorse hardware impiegate.
@luca.filippone
ti sfugge un dettaglio, che in GH i codici nei componenti sono già scritti, e questo implica che a parità di obiettivi la maggior resa sta nel minor numero di componenti. quindi se crei un cluster e all’interno ci metti 20 componenti che fanno il lavoro che ne possono fare 2 hai solo aggiunto codice inutile tutto qui.
il discorso sarebbe valido se con un linguaggio di programmazione crei due codici per lo stesso scopo, ma con due algoritmi differenti. in quel caso anche se il codice con maggior numero di righe e/o complesso risulta più veloce nell’esecuzione ed impatta meno sulle prestazioni allori si, in quel caso il discorso è valido. oppure altro esempio che mi viene in mente, si possono scrivere poche righe in Python, ma per la stessa funzionalità ce ne vogliono molte di più se le scrivessi in C ma questo non significa che il codice scritto in C impegna maggiormente l’elaborazione o la rallenta, anzi in questo caso è proprio l’opposto.
quindi riassumendo il tuo discorso è identico al mio: maggiore resa usando minori prestazioni.
É proprio così. Cerco di raggiungere l’obiettivo con gli strumenti che ho.
… Quando cerco di usare meno componenti … di solito e’ per non andare in confusione io, nel senso che mi perdo nel grafo della definizione.
( Ah, si’ … c’e’ anche il problema di postare l’immagine qui. )
Se interessano le prestazioni possiamo attivare il Profiler.
per tutti è così:
un falegname se si costruisce una casa se la fa di legno,
invece un muratore se la costruisce di mattoni ovviamente.
Emilio “Profiler” di cosa si tratta? e come si attiva?
Tanto destro sul canvas
Preferences
Widgets
In alternativa:
Menu’ File → Preferences …
Puoi attivare o disattivare il Profiler
E puoi scegliere il tempo minimo da mostrare
ottimo a saperlo
ma quindi se collego un tot di componenti avendo un risultato alla fine che sia calcolo o geometria
mi basta verificare il tempo di esecuzione di quest’ultimo per avere un resoconto della definizione?
edit:
ma come mai non viene visualizzato su tutti i componenti?
Credo che il Profiler consideri i singoli componenti.
Non so come fare per avere il tempo complessivo della definizione.
Thanks!
Emi ti/vi segnalo questo post un po’ datato ma penso utile:
Ciao Giuspa.
Grazie !
… Tanta roba interessante in quella discussione.
Bisognera’ leggerla con calma.
almeno non diventi pazzo quando tutto rallenta…
ciao Fabio infatti è quello che ho fatto grazie del suggerimento e scusa il ritardo
ps
con la definizione fatta sono riuscito ad ottenere lo scopo desiderato
ma adesso mi servirebbe aggiungere un inizio diverso nella matrice
math.cos(math.radians(v))+math.cos(u[0])
math.sin(math.radians(-v))+math.sin(u[2])
math.sin(math.radians(v))+math.sin(u[2])
math.cos(math.radians(v))+math.cos(u[0])
ho fatto anche delle variazioni tipo: cambiando indici e aggiungendo segno negativo, dove sbaglio?
è un po un casino bisogna anche trasformare le coordinate xyz nella matrice 4x4 giusto?
Ciao Salvio, per me è aramaico antico.
Ma per curiosità:
Se intendi passare dalle coordinate cartesiane a quelle omogenee sì.
Per due dimensioni serve una matrice 3x3, per tre dimensioni una matrice 4x4.
Confermo … antichissimo !
magari, mi piacerebbe conoscere aramaico antico
math.cos(math.radians(v)) +math.cos(u[0])
math.sin(math.radians(-v)) +math.sin(u[2])
math.sin(math.radians(v)) +math.sin(u[2])
math.cos(math.radians(v)) +math.cos(u[0])
in pratica la “v” è la variabile con il quale ricavo i sin e cos (0.866, -0.500, 0.500, 0.866)
adesso usando lo slider mi fa ruotare oggetto partendo dal punto 0
ma vorrei indicare un’altro punto come fulcro per la rotazione
es.
dalle coordinate xyz del nuovo punto con variabile “u”
ho estratto i due valori interessati x z convertiti in cos e sin
e aggiunti alla formula, vedi seconda parte dopo il segno “+”
ovviamente ho interscambiato i valori e aggiunto il “-” ad un sin
(anche se nella seconda riga già c’è la variabile “v” col segno “-”)
non ho mai fatto questo tipo di operazioni quindi ho fatto un mio ragionamento
grazie per la pazienza Fabio ed Emilio