terça-feira, 13 de outubro de 2009

Profissão: professor



Qual sua opinião?

domingo, 4 de outubro de 2009

Python script para cálculo de escadas

 1 #!/usr/bin/env python
 2
 3 # recebe o pe_esquerdo e calcula a altura do espelho
 4 # onde pe_esquerdo = altura do pe_direito + espessura da lage
 5 # do piso superior
 6 def calc_num_degraus(pe_esquerdo):
 7     # 0.18 = h maximo do espelho
 8     num_degraus = round(pe_esquerdo / 0.18)
 9     return num_degraus
10
11 def altura_espelho(num_degraus):
12     altura_espelho = pe_esquerdo / num_degraus
13     return altura_espelho
14
15 def largura_piso(altura_degraus):
16     largura_piso = 0.64 - 2*altura_degraus
17     return largura_piso
18
19 if __name__ == '__main__':
20     # ler altura pe_esquerdo do user
21     pe_esquerdo = float(raw_input('Entre com altura do pe esquerdo: '))
22     num_degraus = calc_num_degraus(pe_esquerdo)
23     print 'O numero de degraus: ', num_degraus
24     altura_degraus = altura_espelho(num_degraus)
25     print 'A altura de cada espelho: ',altura_degraus
26     # sem chamar a funcao antes
27     print 'A largura do piso degrau: ',largura_piso(altura_degraus)

O algoritmo acima refere-se a uma escada de lance único e é baseado na conhecida fórmula de Blondel.

sábado, 3 de outubro de 2009

Random no Blender 3D: o uso de python script na geração de formas

O script abaixo gera aleatoriamente polígonos do tipo cilindro e esfera no Blender 3D. Abra o editor de textos da ferramenta e teste o código abaixo:

 1 import Blender
 2 from Blender import *
 3 from random import randrange as rd
 4
 5 #Campo de definição de cena 3D
 6 Cena3D = Scene.getCurrent()
 7
 8 #Montagem da cena
 9 Blender.Redraw()
 10
 11 for Esfera in range(100):
 12         #Campo de definição de classes
 13         Esfera = Mesh.Primitives.UVsphere(32,32,5)
 14
 15         #Campo de definição de objetos 3D
 16         Objeto3D = Object.New('Mesh')
 17         Objeto3D.link(Esfera)
 18         x, y, z = rd(1,50), rd(1,50), rd(1,50)
 19         Objeto3D.setLocation(x,y,z)
 20
 21         #Configuração de Cena e Objeto
 22         Cena3D.link(Objeto3D)
 23
 24 for Cilindro in range(100):
 25         #Campo de definição de classes
 26         Cilindro = Blender.Mesh.Primitives.Cylinder(32, 10, 05)     
 27
 28         #Campo de definição de objetos 3D
 29         Objeto = Object.New('Mesh')
 30         Objeto.link(Cilindro)
 31         a, b, c = rd(1,50), rd(1,50), rd(1,50)
 32         Objeto.setLocation(a,b,c)
 33
 34         #Configuração de Cena e Objeto
 35         Cena3D.link(Objeto) 


O resultado deverá ser algo como ilustra a imagem a seguir:

sexta-feira, 2 de outubro de 2009

Como retirar a Navbar do Blogger?

Para retirar a navbar do seu blogger, insira o seguinte código antes do seletor body:

 1 #navbar #Navbar1 iframe {
 2 display:none;
 3 }

Para exibir novamente a navbar, basta apagar o código anteriormente digitado no Css.

  

A Navbar é a barra superior que aparece em todo blog hospedado no Blogger/Blogspot. 
O uso da Navbar é opcional. Edite o Html/Css.

quinta-feira, 24 de setembro de 2009

O equilíbrio na composição

Todos os elementos que formam uma composição, devem ser colocados de maneira que se relacionem entre eles, isto é, estejam em harmonia em igualdade de forças.
Para obter o equilíbrio numa composição há vários atributos que devem ser seguidos:
  • O ritmo, a simetria, a proporção 
Ritmo: repetição de elementos em intervalos regulares. Está associado à ideia de movimento.



Simetria: é uma característica que pode ser observada em algumas formas geométricas. É associada às operações geométricas de: reflexão, rotação e translação.




Proporção: relação entre comprimento, largura e altura dos elementos.



Exemplos de equilíbrio na composição:

 

Conclusão: Não há uma definição universal do valor estético em termos de qualidades formais específicas. Deve­-se reconhecer que diferentes pessoas em diferentes épocas valorizam diferentes qualidades formais. Isto se reflete nas diferentes terminologias críticas e nos diferentes usos de predicados, tais como a palavra belo (MITCHELL,1990).

Referência:

MITCHELL, W. J. The Logic of Architecture, The MIT Press, Cambridge, MA, 1990.

Combinações booleanas no GIMP

A edição de imagem muitas vezes é considerada do ponto de vista técnico como uma operação unária, isto é, uma imagem é transformada em outra através de um processo de alteração de pixels (Figura 1 e 2). No entanto, os designers também necessitam de operações binárias que permitam combinar duas imagens para criação de uma terceira (Figura 3).


Figura 1: Operação unária



Figura 2: Transformação de uma imagem




Figura 3: Operação binária

Operações booleanas como união e subtração podem ser aplicadas a um bitmap - uma imagem digital formada por pixel. Consideremos para este exercício a utilização do programa de manipulação de imagens, GIMP. Assim, com a ferramenta de edição de imagens aberta, atribua um background a camada inferior e crie duas novas camadas conforme ilustra a figura abaixo:
Figura 4 : Camadas

Crie duas formas para as duas camadas superiores (Figura 5 e 6), de maneira que partes das imagens se sobreponham:


Figura 5: Forma A
Figura 6: Forma B

Através dos modos de camadas do GIMP, trabalhe com as operações de adição, diferença e subtração de camadas.


Figura 7: Modos de camadas

Perceba a aplicação das operações através dos polígonos planos:


Figura 8: Adição
Figura 9: Diferença
                      


Figura 10: A-B
Figura 11: B-A

Dessa forma, pode-se concluir que a adição de duas formas é composta por todos os pixels da primeira forma sobreposto ao da segunda forma. Já a diferença entre duas formas é composta pela subtração dos pixels que pertencem simultaneamente à primeira e à segunda formas. Finalmente, quando a primeira forma é subtraída da segunda, a forma resultante é composta apenas pelos pixels da segunda forma que não fazem parte da primeira. "O conjunto de todas as subformas do conjunto de pixels da imagem, juntamente com as operações de união, intersecção e subtração, forma uma álgebra booleana" (MITCHELL, 1990).

Referência:

MITCHELL, W. J. The Logic of Architecture, The MIT Press, Cambridge, MA, 1990.

segunda-feira, 14 de setembro de 2009

GIMP na customização de objetos

Depois de ter visto (no post anterior) como manipular cores no GIMP, iremos agora trabalhar com a customização de objetos. Como exercício, transformaremos um básico tênis em algo mais feminino e personalizado. :-)
1. Para isso abra o GIMP e a imagem do objeto que será customizado, conforme ilustra a figura abaixo:
2. Através do menu File>Open as Layers insira a imagem que modificará o seu objeto. Para o exercício em questão um motivo floral foi escolhido.
3. Através de uma das ferramentas de seleção retire o fundo da camada superior.

4. Redimensione e oriente a imagem de acordo com seu critério.

5. Clique com o botão direito do mouse sobre a camada superior para duplicá-la (2x)

6. Altere o modo das camadas conforme sugere a figura abaixo:

7. Pronto, agora você terá peças inteiramente personalizadas e exclusivas graças ao GIMP.