Skip to topic | Skip to bottom
Home

Tesi
Tesi.ToBeTranslatedr1.1 - 22 Jun 2007 - 15:51 - LucaFurinitopic end

Start of topic | Skip to actions

Oggetti elementari

Gli oggetti elementari comprendono:

  • figure (immagini bitmap o vettoriali)
  • testo

Dimensioni degli oggetti elementari

Per descrivere le dimensioni di un oggetto elementare bastano due valori, che possono essere:

  • altezza e larghezza
  • altezza (oppure larghezza) e aspect ratio
  • area e aspect ratio

Qualunque sia la coppia di valori utilizzata si puo' passare ad un'altra qualsiasi coppia; l'aspect ratio e' larghezza / altezza (e non viceversa, o si fa confusione).

Figure

Per quanto riguarda le figure, il modo piu' comodo per indicarne le dimensioni e' utilizzare larghezza e aspect ratio.

Entrambe potrebbero essere indeterminate (ad esempio nel caso di un rettangolo decorativo, le cui dimensioni dipendono dagli altri oggetti); potrebbe essere indeterminata la larghezza, ma essere fisso l'aspect ratio (cioe' e' possibile ridimensionare l'immagine mantenendone le proporzioni); infine, entrambe le dimensioni potrebbero essere fisse. Il caso in cui sia fissa la larghezza e variabile l'aspect ratio mi sembra un po' strano, e non riesco a trovare un esempio sensato.

Immagini bitmap

Per le immagini bitmap, e' possibile utilizzare la dimensione in pixel (caratteristica delle figure stesse) e la risoluzione di output (verosimilmente espressa nell'elemento radice dell'istanza tall, cosi' come la larghezza e l'altezza della "pagina") per determinare sia l'aspect ratio che un range sensato per la larghezza, in modo da non ingrandire mai troppo l'immagine (con effetto quadrettoni) ne' rimpicciolirla troppo rendendone indistinguibile il contenuto.

Forme vettoriali

Per le forme vettoriali semplici (svg:circle, svg:rect, svg:ellipse), in assenza di indicazioni esplicite, si puo' pensare di utilizzare un aspect ratio di default:

  • utilizzare sempre 1 probabilmente non e' l'idea migliore; per quanto i quadrati siano rettangoli, non sono rettangoli tipici, idem per cerchi ed ellissi
  • la classica sezione aurea potrebbe essere una buona candidata (ovviamente per i cerchi rimane 1!)

Per forme vettoriali piu' complesse (svg:line, svg:polyline e svg:polygon) si possono utilizzare le coordinate dei punti per calcolare il rettangolo che contiene la forma e quindi l'aspect ratio.

E per la larghezza (o altezza, come al solito)? Si puo' comunque pensare di definire una larghezza minima basandosi (ovviamente la presenza di questo valore di default, da utilizarsi in assenza di un'indicazione precisa dell'utente, non impedisce la creazione di elementi che siano piu' piccoli):

  • su una percentuale di default delle dimensioni della pagina: se un oggetto e' largo un centesimo della larghezza della pagina (sia pure un cartellone pubblicitario 6 metri per 8) non si notera' a sufficienza; bisogna solo quantificare in qualche modo questo "n-esimo" (qualcosa attorno a 20 potrebbe essere un possibile candidato)
  • su un valore assoluto: al di la' delle percentuali, un ventesimo di un biglietto da visita e' forse troppo piccolo per qualcosa che si debba distinguere bene
  • la soluzione migliore e' probabilmente la combinazione di queste due strategie: una percentuale dello spazio a disposizione, o una dimensione fissa nel caso in cui l'altro modo dia un valore inferiore.

Testo

Per quanto riguarda il testo, le dimensioni da cui derivano le altre sono essenzialmente la dimensione del font e il rapporto tra lunghezza complessiva del testo (visto come lunga stringa senza ritorni a capo) e dimensione del font, cioe' una sorta di lunghezza normalizzata. In realta', forse invece della prima e' meglio usare l'interlinea (che comunque e' un multiplo della dimensione del font, di solito 1.2 * fontsize). A partire da queste dimensioni e' possibile stimare la dimensione complessiva dell'area occupata dalle righe di testo ancor prima di effettuare il line breaking.

Se la dimensione del font e' fissa, il numero di righe e' inversamente proporzionale alla loro larghezza e, con qualche approssimazione, si puo' stimare che al variare della larghezza l'area complessiva rimanga la stessa, mentre l'aspect ratio vari (cioe' il contrario di quanto accade per le figure). Al variare della dimensione del font, e tenendo fisso il numero di righe, l'arrea complessiva cresce mantenendo lo stesso aspect ratio.

Data quindi un qualsiasi rettangolo, e' possibile stimare quale debba essere la dimensione del font perche' il testo occupi (piu' o meno) esattamente il rettangolo.

Gruppi

...

Dubbi cosmici

  1. qual e' la descrizione piu' generale possibile dell'algoritmo?
  2. come si gestiscono varie proprieta' topologiche simultaneamente?
  3. come si implementa questo algoritmo nel framework DDF?

Dubbio super-esistenziale

  1. Angelo cosa fa?

Dubbi di Fabio

  1. Non abbiamo ancora una sintassi
  2. Non abbiamo ancora una serie di use case
  3. Non abbiamo ancora un algoritmo
  4. Non abbiamo ancora un'implementazione

Credo che sia giusto stabilire come PRIMA cosa la timeline di tutte queste cose. E secondo me la timeline deve concludersi prima di agosto. E' necessario accelerare incredibilmente le attività su TALL a partire dalla settinmana scorsa.

Regole da attivare subito

  1. Tutta la documentazione interna ed esterna (compreso il wiki) in inglese: subito e da adesso in poi
  2. Una proposta di sintassi (basata su oggetti topologici come dizionario XML e proprietà topologiche coe statement CSS) da sottoporre a prove e verifiche rigorose. Lunedì 11 giugno
  3. Almeno tre use case (1) depliant del supermercato in formato schermo PC, cellulare, foglietto in casella della posta e cartellone pubblicitario, 2) libro, 3) rivista): venerdì 15 giugno
  4. espressione in pseudo-codice dell'algoritmo: venerdì 23 giugno
  5. Implementazione fondamentale dell'algoritmo (alpha state, risolvono gli use case): 27 luglio 2007

Credo che la fase di riflessione e ponzamento sia durata abbastanza. Adesso dobbiamo veramente agire.

Dubbio cosmico: io sono sempre stato contrario ai report di avanzamento, che non aumentano l'avanzamento e fanno perdere tempo. Però se l'alternativa è non avere risultati... forse ne ho bisogno.
to top


Copyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Fabio's Wiki? Send feedback