dilluns, 6 d’abril del 2009

Epopeya a mitja llum

Com és semi-conegut, faig de programador amateur en diversos eternament inacabats projectes. L'últim en qüestió és JAL3D, una llibreria d'animació feta en Java.

Avui dia hi ha 3 maneres de programar en Java, i una d'elles no la considero decent:
  • Utilitzar javac, el compilador de línea de comandes, juntament amb kate/gedit/vim/emacs/notepad++ o el bloc de notes de torn (malgrat notepad++ sigui una entitat pròxima a divina, no puc considerar això una opció decent).
  • Utilitzar NetBeans, el IDE (Entorn integrat de desenvolupament) de Sun (els creadors de Java).
  • Utilitzar Eclipse, l'IDE de IBM.
Bé, no entraré a discutir per què faig servir Eclipse i no NetBeans, diguéssim que una raó és que el tenim a la facultat i punt.

En fi, per a passar les coses d'un ordinador a l'altre utilitzo el que se'n diu un repositori. Siguem sincers, no sé prou bé com funcionen els repositoris, així que explicaré el que sé: Són "bases de dades" on guardes els canvis que vas fent al teu projecte, de tal manera que ets capaç després de tornar enrere i de saber qui ha canviat què (i si afegeix un comentari al "commit", perquè).

Antigament, i per el meu projecte Aresource (projecte inacabat #N) feia servir un repositori de sourceforge.net que vaig aconseguir configurar per a que fes servir CVS. Ara, amb la nova versió de la forja, només aconsegueixo tenir SVN (SVN i CVS són els 2 programes principals de repositoris) i malgrat SVN sigui millor que CVS (no deixa de ser una mena de fork [separació del projecte, però continuant amb la feina feta] canviant d'arrels els problemes que arrossegava CVS des dels inicis) hi ha un gran problema: Eclipse no el du per defecte. I instal·lar plugins a l'Eclipse és dolor al forat del cul, com diuen els americans.

En fi, aquí teniu unes indicacions faciletes de seguir (comentaré coses, però si no voleu saber que feu, salteu-vos les explicacions) per tal d'instal·lar l'últim Eclipse a l'últim Ubuntu fins la data:

Eclipse Ganymede 3.4
Ubuntu Intrepid Ibex 8.10

  1. Descarregar-se Eclipse manualment. El que hi ha al repositori oficial d'Ubuntu és vell. No sé si és el 3.2 encara...

    1. Cal anar a la pàgina d'Eclipse [link] i descarregar-se aquell que posa "Eclipse IDE for Java Developers (85 MB)"
    2. És un zip, només cal descomprimir-lo i apretant 2 vegades a l'icona "eclipse" ja el teniu funcionant!
  2. Descarregar-se els paquets adequats de subversion per ubuntu. Atenció: al moment de escriure el post, la última versió de Subversion és la 1.6, mentre que a Ubuntu només hi ha fins la 1.5. AQUEST ha estat el principal problema que he tingut per a fer-ho funcionar. Us proposo 2 maneres:

    1. Utilitzar Synaptic. Al menú "inici" de Ubuntu: Sistema -> Administració -> Gestor de paquets Synaptic. Aquesta eina serveix per afegir programes al sistema [demanará la contrasenya de root]. En aquest cas ens toca buscar "subversion", "libsvn-java", "libsvn1". Apreteu amb el botó dret del ratolí sobre cada opció i assegureu-vos que estigui marcada. Després preneu "aplica". Aquesta via té l'avantatge que sabrem quina versió instalem (si 1.5 o superior)
    2. Utilitzar la línea de comandes: sudo apt-get install subversion libsvn-java libsvn1. Sudo és la comanda que indica "super usuari", així que ens demanarà el password de root (algun dia explicaré això de root, suposo). Aquesta opció no ens diu sempre quina versio instal·lem...
  3. Instalar Subclipse. Aquí ens haurem de pegar amb el sistema de plugins de l'Eclipse, i aquest és deixeble de Chuck Norris, esteu avisats!

    1. Tenint obert Eclipse, anar al menú Help -> Software Updates...(Perquè les actualitzacions són a "Help"??????)
    2. Se'ns obre una finestra. Anar a la pestanya "Avaliable Software"
    3. Afegir una pàgina de plugins: "Add Site" -> "http://subclipse.tigris.org/update_1.4.x" ////// "http://subclipse.tigris.org/update_1.6.x"
    4. Obrir les opcions del que acabem d'afegir, activar "subclipse" i prémer "Install".
    5. ATENCIÓ!!!!!!!!! subclipse 1.6 necessita subversion 1.6. Què vol dir? Que aquí no explico com instal·lar el 1.6 perquè només sé instal·lar el 1.5 que és el que vé al repositori d'Ubuntu. Espero que això canvii d'aquí poc, però mentrestant, aneu amb compte i instaleu-vos subclipse 1.4 per anar sobre segurs. Sinó us tocarà desinstalar el 1.6 i instalar el 1.4, com vaig haver de fer...

Bé, espero haver estat d'ajuda per algú, si mes no per a mi mateix, que segur que em carregaré l'ordinador qualsevol d'aquests dies sense voler i necessitaré això per no perdre una altra tarda maleint Eclipse...

dijous, 2 d’abril del 2009

História vertical de la programació.

Bé, això pretén ser una introducció a la programació. Els conceptes bàsics i que ningú es molesta a explicar: d'on surten les coses que hi ha avui dia i per què són així.

Turing i Von Neumann

Al principi de tot hi ha la màquina de Turing... però això és molt molt molt enrere en el temps. Això, de fet, és de la segona guerra mundial. La màquina de Turing és una màquina "teòrica" que compleix certes característiques matemàtiques i és capaç de resoldre problemes NP-Complets donats temps i memòria ilimitats.

Parres a part, el que ens interessa és que existeix un model de màquina que resol problemes matemàtics: aquest fou l'invent i contrivució de Turing. La veritat és que el que és la màquina de Turing és una cosa complicada, per això ens la saltem i passem al que és la salsa en sí: un ordinador amb una arquitectura Von Neumann.

Vaig massa a saco? M'ho sembla a mi? Estic parlant d'história, no és realment important saber tot això per saber programar, però va bé tenir una mica de cultura general, i ara ja teniu paraules per buscar a la Wikipedia, així que us deixo el trevall per a vosaltres. El que si que explicaré és l'arquitectura de Von Neumann. Simplement perquè, malgrat avui dia s'hagi evolucionat, els ordinadors continuen funcionant igual. O al menys, comportant-se igual.

Von Neumann en sério

Un ordinador amb arquitectura Von Neumann té la següent estructura:
  • Una memòria.
  • Uns dispositius d'entrada/sortida (teclat, pantalla, modem, etc.......)
  • Un processador.
L'element més important és el processador, que s'explica també ràpid. Té els següents elements:
  • Registres (llocs on guardar dades)
  • "Una" unitat de control
  • "Una" ALU (unitat aritmetico-logica)
Bé. Comencem a explicar els conceptes:
  • ALU. Una màquina de fer càlculs. Tu li fas entrar numeros per una banda i un codi dient-li què n'ha de fer amb aquests nombres i la ALU treu la operació feta per l'altra banda. Evidentment, només pot fer operacions senzilles: sumar, restar, multiplicar, -dividir-, comparar dos nombres (i dir quin és el més gran o si són iguals) i m'atreviria a dir que amb aixó n'hi ha prou.
  • Unitat de control: el cerbell de la màquina. Aquesta és la que dirigeix la màquina i controla les coses. Com ho fa? Més senzill del que ens pot semblar. Llegeix una instrucció d'un dels registres (un especial) i la executa. Què vol dir executar una instrucció? En general, hi ha poques variants:
    • Llegir una dada de la MEMÒRIA i desar-lo en un registre
    • Llegir una dada d'un registre i guardar-lo a la MEMÒRIA
    • Agafar dades de registres i fer una operació a la ALU, guardant el resultat en un registre
    • Moure dades dels dispositius d'entrada als registres
    • Moure dades dels registres als dispositius de sortida.
    Vistes les operacions bàsiques, ja no sembla gran cosa, veritat? Simplement el que es fa és "codificar" cada instrucció amb un número i quan la Unitat de Control llegeix aquest número l'executa.
Fàcil, no?

Com funciona, un trasto així?

Tu li poses a la memòria un programa. Què és un programa? Doncs un programa té 2 parts principals: Dades i Instruccions. En general, posaràs a la memòria aquestes parts en 2 zones separades, per tal de no liar-la massa. Un cop has posat el programa a la memòria, li poses "play" i la màquina comença:
1 - Li dones on de la memòria comença el programa. Aquest numeret es guarda en un registre que s'anomena PC, de Program Counter, o contador del programa.
2 - La unitat de control agafarà la instrucció que hi hagi al lloc de la memòria que li digui el PC i se la posarà al seu registre.
3 - Incrementarem el PC, per tal de que "apunti" a la seguent instrucció.
4 - La unitat de control executarà la instrucció que li digui el seu registre i tornarem al pas 2.

Molt bé. Ara tenim una màquina que executa un seguit de instruccions i acaba, probablement, deixant un resultat a la pantalla (dispositiu de sortida). Falta, però un element important. Qué passa si la feina que hem de fer és una mica més complexa que seguir passos un rere l'altre? Si hem de prendre "decisions"? Necessitem un tipus d'instrucció que no hem mencionat fins ara: la instrucció de "salt".

Aquesta instrucció és també senzilla: Simplement, hem de canviar el nombre que hi ha al PC per el que nosaltres volguem per tal que la següent instrucció que la nostra màquina executi no sigui exactament la següent en la memòria, sinó la que nosaltres volguem. A més aquest salt es pot fer condicional. Vol dir, podem comprovar 2 nombres, i si un és més gran que l'altre, saltar i si no ho és, continuem com anàvem.

I per què sapigueu tot només falta explicar la pila d'execució però... no cal. És complicat i tampoc afegeix res essencial, simplement fa certes coses una mica més senzilles i no deixa de ser una mena de salt complicat.

O sigui, ens saltem aquest troç i avancem al llenguatge ensamblador.

O passem abans per el "codi binari"?

Codi Binari 101

Tothom sap que existeix aquest "codi binari", però qué és? Doncs no és res més que una altra manera de contar. M'explicaré. Nosaltres tenim 10 nombres diferents. És per això que fem servir nombres decimals. Conceptualment ho tenim molt senzill: començem amb el 0, després el 1, 2, 3 i fins al 9. Quan no en tenim més, afegim un 1 al principi i tornem a començar, quan ens tornem a quedar sense, sumem un nombre al principi i au!

El codi binari és exactament el mateix, però amb només 2 nombres: el 0 i el 1. Així els primers nombres són: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 que és el 15.

Matemàticament, podem veure que cada dígit incrementa exponencialment el seu valor quan més a l'esquerra és.

En decimal, 1.234 val 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0 = 1000 + 200 + 30 + 4
En binari, 1101 és 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1*2^0 = 8+4+1 = 13

Bé, ara es veu clar que el binari no és altra cosa que contar d'una altra manera. Desmitificar és important. Lletres? Assignem lletres arbitrariament a nombres i hem acabat. L'ASCII és la base de quasi tot el que es fa servir. Wikipediejeu.

I per què binari? Simple: fer operacions en binari és relativament fàcil. En el sentit de fer circuits elèctrics que sumin i restin nombres binaris. Què vol dir, sumar i restar nombres binaris? En un ordinador actual, agafar una ristra de cables, que representen 1ns i 0s estàn encesos o apagats, i fer que una altra ristra de cables s'ensenguin o apaguin en conseqüència.

Llenguatge màquina, llenguatge ensamblador.

Què tenim? Una màquina que va agafant nombres, els interpreta (hem construit la màquina de tal manera que sapiguem quin número vol dir quina operació) i fa operacions. A més aquesta màquina és capaç de llegir nombres que li donguem (cada vegada que apretem una tecla, li estem enviant un nombre, ell ja sap quina tecla és per el nombre que llegeix) i tornar-nos nombres en conseqüència del que digui el programa.

Bé, podem escriure programes directament en els nombres. És una matada que es coneix com a llenguatge màquina. Saber quin número correspon a quina instrucció és complicat i el que és pitjor, canvia amb una facilitat esferaidora de màquina a màquina. No és practic. Per què no fem una cosa? Creem un programa que llegeixi unes certes paraules i les converteixi a llenguatge màquina. No hauria de ser molt complicat; només cal que vagi llegint caràcter a caràcter (nombre a nombre, li assignem una lletra arbitràriament a cada nombre) i quan en tingui uns quants sabrà quina paraula li estem demanant, ergo, quina instrucció volem que faci, i "escrigui" aquesta instrucció a la sortida. I que aquest programa vagi repetint el procés i... ja tenim un ensamblador!

No ens enganyem, el llenguatge més bàsic de programació és el llenguatge màquina. Però com que no li tenim respecte i el llenguatge ensamblador no és més que una traducció directa d'aquest a un idioma "comprensible", l'obviarem i direm que el llenguatge ensamblador és el més bàsic.

Aquest llenguatge ensamblador té l'avantage de ser més fàcil de trevallar-hi i més fàcil de recordar les instruccions, però continua arrossegant problemes del llenguatge màquina. Entre elles, la dependència amb la màquina. Què passa? Màquines similars tenen llenguatge ensamblador similar, i no és gaire difícil passar d'un a altre, al menys, no tant com amb llenguatge màquina.

Compiladors

Per saltar-nos el problema de haver de programar cada vegada les coses per cada màquina on les volguem fer servir vàrem inventar el què s'anomena llenguatges de 3a generació [màquina = primera, ensamblador segona]. Aquests llenguatges són una mica més complexos que l'ensamblador i tenen una sintaxi força més complicada, però en el fons són tot instruccions del mateix tipus i amb poques coses bàsiques. Aquests llenguatges (el més important, el C, però no és pas el primer que va aparéixer, ni molt menys) es passen a ensamblador normalment abans de ser passats a llenguatge màquina per uns programes anomenats compiladors. Aquests compiladors són programes certament més complexos que els ensambladors, doncs no és una traducció directa i moltes vegades canvien el codi per, tot i acavar fent el mateix, ho facin millor que com originalment es feia.

I fins aquí aquesta primera part de la história de la programació. Espero haver estat entenedor i rebre algún comentari amb opinions, preguntes, etc...

Próximament les evolucions a partir de C; paradigmes de programació (funcional, orientat a objectes, scripts, etc...)

continua en História vertical de la programació II

diumenge, 22 de març del 2009

Ja he vist EL FINAL

En anglès i sense subtítols, que encara no hi són tots...


Ah, i LA CANÇÓ ja us la vaig posar en l'últim post, així que simplement em limitaré a posar-ne una altra també molt gran avui :-D



P.S.: Aqui teniu el link a on hi ha els subtítols traduits per mi... quan els posin...

diumenge, 8 de març del 2009

La música importa

Un dia estàs tan tranquil, i se t'activa un interruptor i te n'adones d'alguna cosa. Els hi passa a 4 persones molt conegudes (per qui les coneix) cuan senten aquesta cançó:




(A veure qui adivina de qui parlo, ja que és una mica difícil... això si, hi ha una pista implícita en el post, jejeje...)

A mi també em passen aquestes coses, així que finalment us donc el motiu principal del post:

Demostenes' nades d'olla XXXVII:

Oblidaràs la meva cara, però mai deixaràs de sentir la meva veu.



Feia temps que no escoltava Apocalyptica...

Nota per puristes:

-All along the watchtowe és una cançó escrita per Bob Dylan. He posat la de Jimmy Hendrix perquè és un monstre de la guitarra... i per què és la primera que m'ha sortit al youtube... i per què és la versió que em sonava :-D

Lletra:

"There must be some way out of here," said the joker to the thief,

"There's too much confusion, I can't get no relief.

Businessmen, they drink my wine, plowmen dig my earth,

None of them along the line know what any of it is worth."



"No reason to get excited," the thief, he kindly spoke,

"There are many here among us who feel that life is but a joke.

But you and I, we've been through that, and this is not our fate,

So let us not talk falsely now, the hour is getting late."



All along the watchtower, princes kept the view

While all the women came and went, barefoot servants, too.



Outside in the distance a wildcat did growl,

Two riders were approaching, the wind began to howl.

divendres, 6 de març del 2009

La feina importa

Ahir fou el dia.

Una petita reunió, 3 alumnes i 3 professors (o alguna cosa així), inclòs el cap del DEIC (encara no sé què vol dir) que ens van explicar la meravella de feina que tenien per nosaltres. 2 hem acceptat, el 3r encara no ho sé...

De què va la feina? Ni pajotera idea. Coses de seguretat, vot electrònic (de fet, recollida de firmes), clau simètrica sense la merda de les PKIs i tal... investigació sobre com fer les coses, bàsicament.

I què més? Bé, em sembla haver comentat prèviament que sobrat de temps no vaig, i això de 20 hores a la setmana per treballar es preveu conflictiu. En altres paraules, primer em caldrà esperar a acabar el curs de Blender per a posar-m'hi seriosament, i un altre requisit imprescindible serà el de deixar la meva feina actual. No sé si em creureu, però em fa pena de veritat deixar els pobres nens sols i desemparats. Ara sense mi què faran?


En fi, la vida continua i no ens podem estar tot el dia lamentant per tonteries.

Ah, i com a post "normal" que és aquest em toca comentar les dues notícies importants que hem tingut:

La primera, que Heath Ledger ha guanyat l'Oscar al millor actor secundari, segon Oscar pòstum de la història. Tothom que l'hagi mirat (menys el Martí, òbviament, per una vegada que critica havent mirat la pel·lícula en qüestió va i la caga) sabrà que se'l mereixia. Jo diria que es mereixia el de millor actor principal, però no tot és possible!

L'altra mort de la temporada ha estat la de "Pepe" Rubianes, l'actor més entrevistat per Andreu Buenafuente, i més llargament entrevistat a la televisió (tota una nit). Icona i referent indiscutible a l'humor català. Estimat i odiat. En fi, un home que segur que no deixava indiferent a ningú.

Us deixo doncs amb un petit réquiem escrit per Elton John. No, jo no escolto aquest home, però és un cover que fa Dream Theater que m'encanta i he decidit posar-vos la original.

Amb tots vosaltres Funeral for a Friend / Love lies Bleeding

dimecres, 4 de març del 2009

Avui toquen anarquistes

a veure com podem retocar aixos per a que funcioni:

Crypt: (12 cards, Min: 7, Max: 32, Avg: 4,91)


---------------------------------------------
2 Anarch Convert 1 Caitiff
2 Count Vladimir Rustovitch dom pot pro ANI AUS VIC 9 Tzimisce
1 Droescher One-Eye ani vic 3 Tzimisce
2 Duality ani AUS VIC 6 Tzimisce
1 Elizabeth Westcott ani cel vic AUS 5 Tzimisce
1 Ilias cel Frumos aus vic 3 Tzimisce
2 Kazimir Savostin ani pot AUS VIC 7 Tzimisce
1 Piotr Andreikov aus 2 Tzimisce



Library: (90 cards)

-------------------

Master (20 cards)

4 Anarch Revolt

2 Fame

1 Library Hunting Ground

1 Parthenon, The

1 Path of Metamorphosis, The

1 Pentex Subversion

1 Powerbase: Montreal

1 Rack, The

3 Rotschreck

2 Smiling Jack, The Anarch

3 Vessel



Action (4 cards)

2 Army of Rats

2 Constant Revolution



Reaction (38 cards)

4 Cats` Guidance

6 Eagle`s Sight

5 Enhanced Senses

5 Eyes of Argus

4 Forced Awakening

2 Guard Dogs

4 Mole, The

4 On the Qui Vive

4 Telepathic Misdirection



Combat (18 cards)

4 Breath of the Dragon

5 Chiropteran Marauder

3 Hell-for-Leather

3 Inner Essence

3 Telepathic Tracking



Ally (1 cards)

1 Asanbonsam Ghoul



Retainer (6 cards)

4 Raven Spy

2 Revenant



Equipment (2 cards)

1 Femur of Toomler

1 Ivory Bow



Event (1 cards)

1 Anthelios, the Red Star

diumenge, 1 de març del 2009

Tutorial de Blender V: El Sorral [Extrusions, subdivisions i Proporcionalitat]

Benvinguts al primer tutorial pas a pas!

Avui aprendrem les eines més bàsiques tot seguint un exemple. Comencem amb el nostre objectiu:



Res espectacular, oi? Doncs aquí falta només posar-hi colors i arrodonir les formes, però podeu veure la idea general, i que és complicat fer això només amb cubs, esferes, etc...


La Caixa

Comencem primer a definir el que seria la caixa. El sistema per modelar amb Blender acostuma a ser de la següent manera: es comença amb una figura bàsica i, en mode edició, es va ajustant aquesta figura a poc a poc fins que dóna la forma objectiu.

Comencem amb un cub, com el que se'ns dóna a l'hora de iniciar Blender. Fixem-nos en una cosa; aquest cub ocupa 2 unitats de costat. A Blender les unitats són el que nosaltres volem que siguin. Bàsicament, si estem modelant un sorral, una unitat pot ser un metre, mentre que si modelem la Terra pot ser poc pràctic si no els fem mesurar uns quants quilometres.

Direm que una unitat és un metre.

Molt bé, agafem el cub i li posem nom, "capsa", per exemple (Utilitzem la N). Tot seguit, passem al mode edició [TABULADOR] i posem la vista frontal [NUM1]. Fem una mica de zoom per acostar-nos i veure els "decímetres" a la graella. Sobretot, no gireu la vista, ja que és molt més pràctic quedar-se amb una vista frontal on veiem les coses des d'una perspectiva coneguda.

Tenint el cub en aquesta posició, l'escalem sobre l'eix de les zetes (S, Z) fins que mesuri 2 decímetres utilitzant el CONTROL per escalar acuradament.



Un cop tenim això, ens toca afegir-hi el forat per a poder-hi posar sorra. Ara us presentarem una nova eina: la Extrusió. Aquesta eina afegeix geometria a partir de geometria existent, concretament, duplica aquella geometria seleccionada.

Així doncs, crearem un quadrat superior lleugerament més petit del que hi és. Atenció per què la maniobra és una mica complicada. Seleccionem la "tapa" superior (seleccionant tots els vèrtexs o simplement la cara en mode de selecció de cares) i prenem la lletra E (Extrusió). Acabem de crear nova geometria, però no es veu. Tranquils, premeu ENTER i espereu un moment.

Vista superior [NUM7]. Escalem S i amb el control ens assegurem que només reduïm una meitat amb el CONTROL. Com haureu observat, apareixen 4 cares noves als marges, ja que al haver extrudit la tapa hem afegir aquestes cares.



Ara toca acabar de fer el forat. Si posem la vista frontal [NUM1] i movem aquesta tapa cap a sota [G, Z] veiem com els marges es mouen amb la tapa, cosa que no volem. Bé, això no és el que ens interessa, així que si ho heu fet, desfeu-ho amb CONTROL + Z.

Com que hem de afegir parets, el més adequat és extrudir. Fem-ho tenint aquesta tapa interior seleccionada i des de la vista frontal [NUM1]. Extrudim la tapa amb E i la movem lleugerament cap a sota, utilitzant el CONTROL per anar a poc a poc.



Considerarem que la capsa ja està acabada (Si, ho sé té un color horrible, però això no és pas l'objectiu d'aquest tutorial). Ara tocaria fer la sorra. Tornem al mode objecte [TABULADOR] per afegir la sorra. Recordem, si és un objecte nou, cal afegir-ho per separat, si ho afegíssim en el mode edició, la sorra formaria part de l'objecte "capsa". Molt bé.

Primer de tot ens assegurem que el cursor (aquella mira vermella) és al centre. La manera més acurada és prement SHIFT + S -> "Cursor -> Grid". Aquesta opció és, però, una mica punyetera. No centra del tot el cursor, sinó que el posa al creuament de coordenades més proper a on era. Així doncs abans cal "acostar" el cursor al centre (Amb el botó esquerra del ratolí).

Ara generem el nou objecte. Afegim un pla (és el que més se'ns acosta a la forma de sorra que volem), li posem nom ("sorra" serà fantàstic) i ens passem al mode edició [TABULADOR]. Escalem [S] i movem [G, Z] la sorra una mica cap amunt per a que estigui ben situat. Ah, anirà molt bé canviar a mode wireframe [Z].



Ara tenim un sol pla, cosa que no podrem modelar, així que afegirem una mica de geometria d'una nova manera: subdividint. Aquesta vegada, estranyament, no hi ha drecera de teclat. Així que haurem de buscar el botó. Ens assegurem que estem en mode edició i que a la finestra de botons ens surten els menús de "Editing" [F9]. Aquí, busquem la pestanya de "Mesh Tools", la tercera, i en primera línia veiem el famós botó: "Subdivide". Aquesta eina simplement divideix en 2 o 4 fraccions les cares (i arestes) seleccionades. Prement 4 vegades n'hi haurà prou.



Ara només ens queda donar formes ondulades al pla que tenim. Una forma poc pràctica és agafar vèrtex a vèrtex [G] i moure'ls cap a amunt [Z]. Això a part de poc eficient i és força probable que no ens quedi massa bé. Aquí podem activar l'eina de proporcionalitat. Aquesta eina és en un menú desplegable de la part inferior del visor 3D, a la part final, una mica abans del selector de vèrtexs/arestes/cares. Té un parell de cercles i quan el despleguem veiem "Connected", "On" i "Off". No ens preocuparem per les diferències entre "Connected" i "On", avui ens és igual, simplement activem aquesta opció i agafem un dels vèrtexs. Tenint un vèrtex seleccionat, doncs, el movem amb la "G" i marcat a la "Z". Observem que, tenint la proporcionalitat activada, ens surt una esfera, que podem modificar amb la roda del ratolí per fer-la més gran o més petita, i si movem el vèrtex veiem com els vèrtexs propers (dins de l'esfera) ens segueixen.



Falta acabar de fer les muntanyes i ja tindrem el sorral acabat!

Ens falta només acabar d'explicar els detalls de l'eina de proporcionalitat. La veritat és que la millor manera d'aprendre-la és practicar-la una estona. Primer de tot, la opció que surt al costat de l'eina de proporcionalitat és on es selecciona el mode de proporcionalitat, cada un fa que els vèrtexs que es mouen amb el principal el segueixin d'una manera diferent.

Per altra banda la diferència entre "Connected" i "On" és també simple: Amb "On" la eina afecta a tots els eixos que estiguin dintre l'esfera, mentre que amb "Connected" aquests vèrtexs, a més d'estar dintre de l'esfera, cal que estiguin connectats amb el vèrtex que agafem a través d'un camí que passi completament per dintre de l'esfera.

Referència de Tecles

  • N propietats de l'objecte.
  • TABULADOR canviar mode edició / objecte
  • NUM1 vista frontal.
  • S escalar.
  • Z en mode d'escalar [o moure o rotar] per escalar només en l'eix Z.
  • CONTROL en mode escalar per a escalar [o moure o rotar] acuradament.
  • E extrusió.
  • NUM7 vista superior.
  • G moure.
  • CONTROL + Z desfer.
  • BOTÓ ESQUERRA DEL RATOLÍ situa el cursor.
  • SHIFT + S -> "Cursor -> Grid" Centra el cursor a la graella més propera.
  • Z activar/desactivar mode wireframe.
  • F9 Editing