Matematica: ridimensionare in modo proporzionale

Dato un oggetto rettangolare largo w e alto h ci viene chiesto di renderlo più piccolo del 20%! Prima di tutto diminuiamo del 20% la sua larghezza:

1
object.width = object.width – ( (object.width*20) / 100)

da cui

1
object.width = object.width – ( object.width * 0.2 )

da cui

1
object.width = object.width * ( 1-0.2 )

Per l’altezza vale esattamente lo stesso.

Quando c’è di mezzo un terzo oggetto, cioè non ci è stata data la percentuale da togliere al nostro oggetto ma da un terzo, abbiamo:

1
2
3
rate = object.width / object.height
object.width = terzo.width*(1-0.2)
object.height = object.width/rate

2 commenti a: “Matematica: ridimensionare in modo proporzionale”

  1. 26 gen, 2009 vik:

    Ma 1-0.2 non è uguale in ogni caso a 0.8? ;)

  2. 26 gen, 2009 Giovambattista Fazioli:

    @vik:

    Ma 1-0.2 non è uguale in ogni caso a 0.8?

    Esatto… in questo esempio l’ho lasciato volutamente separato, per rendere evidente la trasformazione, ad esempio nel caso sia parametrica:

    object.width = terzo.width*(1-perc/100)

    che potrebbe anche essere scritto come:

    object.width = terzo.width*( (100-perc)/100)

    Comunque sia a parte la diferenza numerica rimangono sempre una sottrazione e una divisione da fare, il chè le rende equivalenti.
    Nel caso dove la percentuale è nota o costante, è possibile – è bene – inserire direttamente 0.8.

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre> // blocco generico
					<code></code> // blocco generico
					[cc_actionscript][/cc_actionscript] // Actionscript
					[cc_actionscript3][/cc_actionscript3] // Actionscript 3
					[cc_css][/cc_css] // CSS Style Sheet
					[cc_html][/cc_html] // HTML
					[cc_js][/cc_js] // Javascript
					[cc_objc][/cc_objc] // Objective-C
					[cc_php][/cc_objc] // PHP
					[cc_sql][/cc_sql] // SQL


Stop SOPA