dalle prove fatte su alcune combinazioni di valori questo componente riporta questo problema
ma dettaglio trascurabile essendo che basta cambiare di qualche decimale è il tutto va bene.
grande Emilio, questa sembra proprio che funzioni anche coi decimali come intendevo
ps magari questa è una situazione dove non puoi uscirne senza un qualche problema
anche la def di Leopoldo ed il codice di Sergio davano valori diversi al primo e ultimo quadrato
quindi deduco che la soluzione perfetta magari in questo caso non esiste e bisogna accettare un qualche compromesso, bisogna scegliere solo quale compromesso accettare che ne pensi?
Dal poco che ho visto per ora, e’ la ricerca del valore con cui correggere i rapporti che non funziona.
Il loop di ricerca non si ferma … provo poi a capire perche’.
Premesso che personalmente non ho ancora capito come dovrebbe essere questa soluzione ‘perfetta’ …
La def cerca soluzioni in cui il rapporto tra rettangoli vicini varia ‘gradualmente’.
Dovrebbe arrivare fino a soluzioni in cui i primi due o gli ultimi due rettangoli sono uguali … circa.
Oltre non fornisce nessun output.
… Sempre se funziona anche per valori che non ho provato …
Credo che l’ultima funzioni solo con altezze decrescenti.
Probabilmente (non ricordo) la prima non ha questa limitazione, anche se si inceppa quando c’e’ una soluzione esatta (tutti i rapporti tra rettangoli uguali, come ad esempio 31, 16, 1).
ciao Leopoldo, non ho capito bene questa tua def come funzioni
gli vai a dire quanti loop deve fare in pratica quanti rettangoli
poi imposti il primo valore 61.173 che sarebbe la lunghezza
e poi il rapporto di scala 0.87 e basta?
La definizione non ha niente di “matematico”.
Si imposta il valore del primo segmento e il numero di segmenti che si vogliono ottenere.
Poi, si aggiusta lo scroller fino a trovare il valore dell’ultimo segmento.
Ovviamente così facendo il rapporto della lunghezza tra segmenti adiacenti rimane costante.
È evidente che in questa maniera si soddisfano due condizioni su tre ovvero la distanza totale non corrisponde a quella richiesta.
Il valore 61.173 non ha nessuna influenza è messo lì solo per memoria.
Infatti la lunghezza totale è pari a 60.667577.
Sarà possibile trovare una funzione matematica che soddisfi le tre condizioni?