Rapporto Scalare Dimensioni

per la serie: quando il gioco si fa duro, i duri iniziano a giocare :wink:

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 :+1:

:clap: :clap:

Una combinazione di esempio ?

Meglio ?

salvio-28c.gh (33,1 KB)

mmmm mi sa meno, queste situazioni nell’altra def non succedevano

In questi casi prima non disegnava niente.
Adesso disegna rettangoli sbagliati.

C’e’ comunque un errore da cercare …
Se riesco a sistemarlo, mi rifaccio vivo.

Grazie per il debugging !

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’. :confused:

Mi sa tanto che è così.

E’ sbagliato il range iniziale di ricerca. Troppo piccolo.
Mi sa che c’e’ un ragionamento da rifare … :confused:

Certo e’ possibile.
… Non so nemmeno quali requisiti dovrebbe soddisfare.
Mi accontento di pasticciare un po’ con GH. :grinning:

Se Salvio si accontentasse di soddisfare due condizioni su tre il problema sarebbe risolto (quasi).


quadrati f.gh (16,2 KB)

Premesso che personalmente non ho ancora capito come dovrebbe essere questa soluzione ‘perfetta’ … :wink:

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 …

salvio-28d.gh (34,6 KB)

Emilio a quanto pare dalle prove fatte, la prima è quella che risulta più efficiente :+1:

grazie ancora va bene con la prima.

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).

Se la prima e’ utile, tanto meglio. :slight_smile:

immagine

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?