Scaling

Lo strumento di scaling permette il ridimensionamento degli oggetti, secondo dei principi di ingrandimento o riduzione.

Si noterà immediatamente la scomparsa del gizmo, che lascerà il posto ad un piccolo cubo posto in corrispondenza del pivot. Al pari degli altri strumenti la sua posizione sarà fondamentale per determinare la sorgente di accrescimento o riduzione.

In altre parole, se il pivot è nel baricentro dell'oggetto, questo crescerà o si ridurrà intorno ad esso, ma se questo è esterno, o sbilanciato, lo saranno anche le relative distanze scalate.

L'oggetto della nostra dimostrazione, il cubo giallo, ha il pivot posto al centro della faccia che fa da base. Questa particolare configurazione ci torna utile, infatti, posizionando il cubo sulla nostra superficie di lavoro, questo crescerà o si ridurrà mantenendo sempre la base adiacente alla superficie, dandoci la possibilità di misurare anche visivamente l'esito dello scaling che andremo ad applicare.

Una volta attivato lo strumento sarà sufficiente portare il mouse sul piccolo cubo che fa da gizmo. Come è possibile notare è grigio neutro, e non presenta i colori che precedentemente erano stati assegnati agli assi, perché questo scaling coinvolgerà insieme le tre dimensioni. Interagendo con esso attraverso il puntatore del mouse, questo diventerà giallo. Cliccando e trascinando saremo in grado di scalare l'oggetto a piacimento.

Il pannello informativo nella parte alta riporta dinamicamente lo scaling come di consueto, mentre il piccolo form di input, stavolta singolo, consente l'immissione di valori custom.

La matematica dello scaling

Scalare un'oggetto significa poterne aumentare o ridurre la grandezza moltiplicando le singole dimensioni dell'oggetto.

Il numero corrispondente allo scaling è un coefficiente, ovvero un valore adimensionale, quindi un moltiplicatore, senza alcuna unità di misura.

Il coefficiente di partenza è di default 1.

Questo riferimento, il coefficiente che utilizziamo per realizzare l'edit dimensionale, non coinvolge dei valori volumetrici, ma lineari, ovvero, se impostassimo un coefficiente di scala a 2, vorrà dire che stiamo raddoppiando non l'oggetto in se (quindi il suo volume), ma le singole dimensioni che lo compongono, per i valori di x, y, e z.

L'incremento o decremento che misuriamo inoltre è a step di 1/4 relativamente al coefficiente di partenza, e si conserverà tale ogni volta che procediamo nel ridimensionamento senza lasciare il click del mouse.

Nel caso di un moto incrementale, non incontreremo limiti nello scaling attraverso il mouse, pertanto sarà possibile passare facilmente dal coefficiente 1 a valori più grandi procedendo per step in un unico movimento.

Nel caso di un moto di riduzione invece incontreremo un primo limite matematico: il coefficiente non può essere 0. Ipotizzando una riduzione partendo dal coefficiente di default incontreremo infatti questa progressione: 1 -> 0,75 -> 0,5 -> 0,25 -> 0

Pertanto il limite di step decrementali è impostato a tre alla volta. Il quarto step ricondurrà quindi il coefficiente al valore unitario. Per ottenere riduzioni ulteriori sarà necessario lasciare il click ad un coefficiente intermedio dei tre step consentiti (anche in funzione dei nostri obiettivi di riduzione) e cliccare nuovamente riducendo ancora.

Procedendo quindi a step incrementali e sapendo che questi corrispondono a 1/4, se partendo dalla condizione di default (scale: 1), volessimo raddoppiare le dimensioni dell'oggetto (scale: 2), dovremmo cliccare sul gizmo cubico e trascinare il mouse fino al valore desiderato.

Se l'incremento è di 1/4, saranno necessari 4 incrementi, ovvero 4 step per raggiungere il nostro obiettivo. Vedremo quindi progredire il valore del coefficiente in questa maniera: 1 -> (step 1) 1,25 -> (step 2) 1,5 -> (step 3) 1,75 -> (step 4) 2

Formula per la determinazione del coefficiente finale

La formula che segue, identificando con "ci" il coefficiente di partenza e con "s" il numero di step, ci fornirà il valore finale del coefficiente di scaling "cf":

Nell'applicare la formula utilizzeremo la somma per incrementare la scala e la sottrazione per la riduzione.

Secondo quanto enunciato, vediamo il raddoppio del nostro cubo di riferimento. Lo faremo selezionandolo e inserendo direttamente il valore nel form di input.

Come già detto il cubo risultante non sarà il doppio dell'originale (volumetricamente è 8 volte tanto), ma la sue dimensioni lineari sì. Possiamo infatti facilmente verificare attraverso la griglia come la misura iniziale del singolo lato sia di 2m, mentre nella sua forma finale sia 4m, il doppio.

Volendo fare l'opposto, ovvero dimezzare le dimensioni del cubo, andremo ad impostare un coefficiente di 0,5, direttamente nell'input.

Anche in questo caso la misura del cubo a livello volumetrico non corrisponde alla metà (è in realtà 1/4 del volume originale), ma le sue dimensioni sono correttamente come ci si aspettava: quelle di un cubo di 1m per lato.

Limiti

Non considerando le dimensioni dello spazio sul quale operiamo, disporremmo virtualmente di uno spazio infinitamente grande, ma non infinitamente piccolo.

In entrambi i casi sarà la dimensione iniziale di un oggetto a determinare la resa di un ingrandimento molto spinto o di una riduzione estrema.

Qualora volessimo ingrandire un oggetto, sarà necessario valutare secondo i propri canoni estetici e nella visione di insieme l'efficacia di un ingrandimento. La scalabilità di un oggetto tridimensionale è infatti illimitata, considerando la sua natura geometrica vettoriale, ma l'eventuale presenza di una texture decorativa al suo interno, sia essa integrata nell'oggetto stesso, o frutto di una customizzazione (dove prevista), metterà in evidenza gli artefatti del raster derivanti da possibili compressioni e interpolazioni delle immagini JPG o PNG in uso.

Considerando invece l'ipotesi di una riduzione, la scala è limitata ad un coefficiente finale di 0,01. Qui sarà davvero determinante la dimensione iniziale, ovvero la sua dimensione di default quando l'oggetto viene inserito nell'ambiente. Un cubo nativamente di un metro per lato potrà essere rimpicciolito fino a un centimetro, mentre un edificio lungo 40m potrà essere ridotto al massimo fino a 40cm.

Reimpostazione del coefficiente iniziale.

Perché è importante non lasciare il click del mouse?

In riferimento all'esempio precedente, ipotizziamo quindi di aver portato il coefficiente fino a 1,75 e di aver lasciato consapevolmente o inavvertitamente il click del mouse. Il nuovo valore di partenza sarà 1,75. Vien da sé che se volessimo raddoppiarlo, dovremmo poter ottenere un coefficiente di 3,5. Applicando la formula precedentemente citata, ecco cosa otterremmo se procedessimo in questa direzione:

1,75 -> 2,19 -> 2,62 -> 3,06 -> 3,5

La nuova progressione non riprende quindi da dove era rimasta, ma ricomincia, reimpostando il coefficiente iniziale.

C'è un trucco per ingrandire gli oggetti incrementando il coefficiente di un'unità per volta senza passare per gli step da 1/4.

Per ottenere questo effetto, non essenziale ma comodo talvolta, basterà ridurre l'oggetto fino al 4° step, che riporterà il coefficiente a 1, e protrarre quindi il movimento senza lasciare il click del mouse. Otterremo la progressione che segue:

1 -> 0,75 -> 0,5 -> 0,25 -> 1 -> 2 -> 3 -> 4 -> 5 -> ecc.

Last updated