Posts Tagged ‘setup’

Ruby-Processing Exemplo de Modelo 3D com Drag e Carregamento de Material OBJ e MTL

Postado em 24 ago 2009
Categoria(s) PIBIC, Processing, Ruby, Ruby-Processing

O exemplo abaixo ilustra uma aplicação no modelo 3D com drag e carregamento de material OBJ e MTL, usando Ruby-Processing.
Para trabalhar com .OBJ esse exemplo usa a biblioteca: .OBJ loader for Processing, você pode encontrar mais informações em: http://code.google.com/p/saitoobjloader/.

Para esse exemplo funcionar você deve possuir o Ruby-Processing instalado, caso não possua siga os passos: http://blog.patrickespake.com/2009/08/23/ruby-processing.

Exemplo Modelo 3D com Drag e Carregamento de Material OBJ e MTL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Example < Processing::App
  load_library :objloader
  import "saito.objloader"
 
  def setup
    size 800, 600, P3D
    @model = OBJModel.new(self, "m1.obj")
    @rot_x = 0
    @rot_y = 0
  end
 
  def draw
     background 51
     no_stroke
     lights
     smooth
 
     push_matrix
     translate width/2, height/2, 0
     rotate_x @rot_y
     rotate_y @rot_x
     scale 3
     @model.drawMode POLYGON
     @model.draw
     pop_matrix
  end
 
  def mouse_dragged
    @rot_x += (mouse_x - pmouse_x) * 0.01;
    @rot_y -= (mouse_y - pmouse_y) * 0.01;
  end
end
 
Example.new :title => "Example 3D With .OBJ Loader"

Esse exemplo importa um modelo 3D criado no 3D Studio Max, quando você clica e faz drag o modelo 3D se movimenta.

Executando

No terminal digite:

rp5 run example.rb

Resultado

ruby-processing-modelo-3d-drag-objloader

Você pode ver esse exemplo em execução no endereço: http://lab.patrickespake.com/ruby-processing-examples/example_3d_objloader/run/. Você precisa ter paciência para visualizar o modelo rodando, ele demora um certo tempo para carregar no browser.

Código fonte completo: http://github.com/patrickespake/ruby-processing-examples/tree/c80a080dd1e27a562b252fa01bc1030d924a9f47/example_3d_objloader.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Ruby-Processing Exemplo de Modelo 3D com Animação

Postado em 23 ago 2009
Categoria(s) PIBIC, Processing, Ruby, Ruby-Processing

O exemplo abaixo ilustra uma aplicação no modelo 3D com animação, usando Ruby-Processing.
Para esse exemplo funcionar você deve possuir o Ruby-Processing instalado, caso não possua siga os passos: http://blog.patrickespake.com/2009/08/23/ruby-processing.

Exemplo Modelo 3D com Animação

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
class Teste3d2 < Processing::App
  attr_accessor :rotx, :roty, :tex, :bg, :rate
 
  def setup
    size 800, 600, P3D
    self.bg = load_image "candy_2.jpg"
    self.tex = load_image "smile.jpg"
    texture_mode NORMALIZED
    fill 255
    stroke(color(44, 48, 32))
    self.rotx = 0
    self.roty = 0
    self.rate = 0.05
  end
 
  def draw
    background self.bg
    no_stroke
    translate width/2.0, height/2.0, -100
    rotate_x self.rotx
    rotate_y self.roty
    scale 90
    texture_cube self.tex
    position_update
  end
 
  private
 
  def position_update
    self.rotx += rate
    self.roty += rate
 
    puts "rotx: #{self.rotx}"
    puts "roty: #{self.roty}"
  end
 
  def texture_cube(tex)
    begin_shape QUADS
    texture tex
 
    # +Z "front" face
    vertex(-1, -1,  1, 0, 0)
    vertex( 1, -1,  1, 1, 0)
    vertex( 1,  1,  1, 1, 1)
    vertex(-1,  1,  1, 0, 1)
 
    # -Z "back" face
    vertex( 1, -1, -1, 0, 0)
    vertex(-1, -1, -1, 1, 0)
    vertex(-1,  1, -1, 1, 1)
    vertex( 1,  1, -1, 0, 1)
 
    # +Y "bottom" face
    vertex(-1,  1,  1, 0, 0)
    vertex( 1,  1,  1, 1, 0)
    vertex( 1,  1, -1, 1, 1)
    vertex(-1,  1, -1, 0, 1)
 
    # -Y "top" face
    vertex(-1, -1, -1, 0, 0)
    vertex( 1, -1, -1, 1, 0)
    vertex( 1, -1,  1, 1, 1)
    vertex(-1, -1,  1, 0, 1)
 
    # +X "right" face
    vertex( 1, -1,  1, 0, 0)
    vertex( 1, -1, -1, 1, 0)
    vertex( 1,  1, -1, 1, 1)
    vertex( 1,  1,  1, 0, 1)
 
    # -X "left" face
    vertex(-1, -1, -1, 0, 0)
    vertex(-1, -1,  1, 1, 0)
    vertex(-1,  1,  1, 1, 1)
    vertex(-1,  1, -1, 0, 1)
 
    end_shape
  end
end
 
Teste3d2.new :title => "Teste 3D"

Esse exemplo gera um cubo em 3D com animação.

Executando

rp5 run teste_3d_2.rb

ruby-processing-modelo-3d-animacao

Você pode ver esse exemplo em execução no endereço: http://lab.patrickespake.com/ruby-processing-examples/example_3d_animation/run/. Você precisa ter paciência para visualizar o modelo rodando, ele demora um certo tempo para carregar no browser.

Código fonte completo: http://github.com/patrickespake/ruby-processing-examples/tree/c80a080dd1e27a562b252fa01bc1030d924a9f47/example_3d_animation.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Ruby-Processing Exemplo de Modelo 3D com Drag

Postado em 23 ago 2009
Categoria(s) PIBIC, Processing, Ruby, Ruby-Processing

O exemplo abaixo ilustra uma aplicação no modelo 3D com drag, usando Ruby-Processing.
Para esse exemplo funcionar você deve possuir o Ruby-Processing instalado, caso não possua siga os passos: http://blog.patrickespake.com/2009/08/23/ruby-processing.

Exemplo Modelo 3D com Drag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
class Teste3d < Processing::App
  attr_accessor :rotx, :roty, :tex, :bg
 
  def setup
    size 800, 600, P3D
    self.bg = load_image "candy.jpg"
    self.tex = load_image "smile.jpg"
    texture_mode NORMALIZED
    fill 255
    stroke(color(44, 48, 32))
    self.rotx = PI/4
    self.roty = PI/4
  end
 
  def draw
    background self.bg
    no_stroke
    translate width/2.0, height/2.0, -100
    rotate_x self.rotx
    rotate_y self.roty
    scale 90
    texture_cube self.tex
  end
 
  def mouse_dragged
    rate = 0.01
    self.rotx += (pmouse_y - mouse_y) * rate
    self.roty += (mouse_x - pmouse_x) * rate
  end
 
  private
 
  def texture_cube(tex)
    begin_shape QUADS
    texture tex
 
    # +Z "front" face
    vertex(-1, -1,  1, 0, 0)
    vertex( 1, -1,  1, 1, 0)
    vertex( 1,  1,  1, 1, 1)
    vertex(-1,  1,  1, 0, 1)
 
    # -Z "back" face
    vertex( 1, -1, -1, 0, 0)
    vertex(-1, -1, -1, 1, 0)
    vertex(-1,  1, -1, 1, 1)
    vertex( 1,  1, -1, 0, 1)
 
    # +Y "bottom" face
    vertex(-1,  1,  1, 0, 0)
    vertex( 1,  1,  1, 1, 0)
    vertex( 1,  1, -1, 1, 1)
    vertex(-1,  1, -1, 0, 1)
 
    # -Y "top" face
    vertex(-1, -1, -1, 0, 0)
    vertex( 1, -1, -1, 1, 0)
    vertex( 1, -1,  1, 1, 1)
    vertex(-1, -1,  1, 0, 1)
 
    # +X "right" face
    vertex( 1, -1,  1, 0, 0)
    vertex( 1, -1, -1, 1, 0)
    vertex( 1,  1, -1, 1, 1)
    vertex( 1,  1,  1, 0, 1)
 
    # -X "left" face
    vertex(-1, -1, -1, 0, 0)
    vertex(-1, -1,  1, 1, 0)
    vertex(-1,  1,  1, 1, 1)
    vertex(-1,  1, -1, 0, 1)
 
    end_shape
  end
end
 
Teste3d.new :title => "Teste 3D"

Esse exemplo gera um cubo em 3D, quando você clica e faz drag o cubo se movimenta.

Executando

No terminal digite:

rp5 run teste_3d.rb

Resultado

ruby-processing-modelo-3d-drag

Você pode ver esse exemplo em execução no endereço: http://lab.patrickespake.com/ruby-processing-examples/example_3d_drag/run/. Você precisa ter paciência para visualizar o modelo rodando, ele demora um certo tempo para carregar no browser.

Código fonte completo: http://github.com/patrickespake/ruby-processing-examples/tree/c80a080dd1e27a562b252fa01bc1030d924a9f47/example_3d_drag.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Ruby-Processing Exemplo de Modelo 2D

Postado em 23 ago 2009
Categoria(s) PIBIC, Processing, Ruby, Ruby-Processing

O exemplo abaixo ilustra uma aplicação no modelo 2D, usando Ruby-Processing.
Para esse exemplo funcionar você deve possuir o Ruby-Processing instalado, caso não possua siga os passos: http://blog.patrickespake.com/2009/08/23/ruby-processing.

Exemplo Modelo 2D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Teste2d < Processing::App
  def setup
    fill 255, 255, 0
    my_font = create_font "", 32
    text_font my_font
    text_align CENTER
    text "Teste 2D", 10, 50, 800, 50
  end
 
  def draw
    c = color rand(255), rand(255), rand(255)
    fill c
    text range_rand(33, 126).chr, range_rand(32, width - 32), range_rand(80, height - 32)
    puts frame_rate
  end
 
  private
 
  def range_rand(min, max)
    min + rand(max - min)
  end
end
 
Teste2d.new :title => "Teste 2D", :width => 800, :height => 600

Esse exemplo gera letras randômicas e imprime na tela com cores randômicas.

Executando

No terminal digite:

rp5 run teste_2d.rb

Resultado

ruby-processing-modelo-2d

Você pode ver esse exemplo em execução no endereço: http://lab.patrickespake.com/ruby-processing-examples/example_2d/run/. Você precisa ter paciência para visualizar o modelo rodando, ele demora um certo tempo para carregar no browser.

Conclusão

No Linux existe um problema de performance que aparentemente está associado com o modo P2D, as aplicações em ruby-processing rodam na média com 2 frame rate, já em ambiente Windows a performance é muito superior rodando com até 37 frame rate. Quando foi alterado para o modelo para P3D em ambiente Linux a performance aumento bastante chegando atingir 43 frame rate. Aparentemente esse problema está associado com a Java Virtual Machine no ambiente Linux.

Código fonte completo: http://github.com/patrickespake/ruby-processing-examples/tree/c80a080dd1e27a562b252fa01bc1030d924a9f47/example_2d.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Ruby on Rails configurando ambiente de desenvolvimento no Linux

Postado em 25 jun 2009
Categoria(s) Ruby on Rails

Nesse post vou mostrar como configurar um ambiente de desenvolvimento em Ruby on Rails no Linux.

Vamos lá!

Atualizando os pacotes do Linux:

sudo apt-get update

Instalando Ruby on Rails:

1
2
3
4
5
6
7
8
9
10
sudo apt-get install ruby irb rdoc ruby1.8-dev libopenssl-ruby imagemagick curl
wget http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz
tar xzvf rubygems-1.3.4.tgz
cd rubygems-1.3.4
sudo ruby setup.rb
cd /usr/bin
sudo ln -s gem1.8 gem
sudo gem update --system
sudo apt-get install build-essential
sudo gem install rails passenger mongrel capistrano

Instalando Apache com PHP e Passenger/Modrails:

O Passenger/Modrails permite rodar aplicações Ruby on Rails no Apache.
Nessa etapa nós também iremos instalar o PHP, vamos precisar dele para o phpMyAdmin.

1
2
sudo apt-get install apache2 php5 libapache2-mod-php5 apache2-prefork-dev libapr1-dev
sudo passenger-install-apache2-module

Agora nós precisamos configurar o Apache para carregar o módulo do Passenger:

sudo gedit /etc/apache2/mods-enabled/passenger.load

Adicione as seguintes linhas no arquivo em branco:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4
PassengerRuby /usr/bin/ruby1.8
RailsEnv development

Salve o arquivo e feche o gedit.

Reinicie o Apache para carregar o Passenger:

sudo /etc/init.d/apache2 restart

Instalando o MySQL:

1
2
sudo apt-get install mysql-server libmysql-ruby php5-mysql
sudo apt-get install phpmyadmin

Configurando acesso a sua aplicação Ruby on Rails:

Digamos que você tenha o código da sua aplicação Ruby on Rails no diretório:

/home/patrick/projetos/minha_aplicacao

Vamos configurar para que quando você digitar no navegador http://minha_aplicacao você veja a sua aplicação em ambiente de desenvolvimento e possa interagir com ela.

Para isso, siga os passos abaixo:

cd /etc/apache2/sites-available/

Vamos criar um novo host novo virtual host no Apache:

sudo gedit minha_aplicacao

No arquivo em branco adicione:

<VirtualHost *:80>
ServerName minha_aplicacao
DocumentRoot /home/patrick/projetos/minha_aplicacao/public/
</VirtualHost>

Salve e feche o gedit.

Vamos deixar esse virtual host disponível:

1
2
cd /etc/apache2/sites-enabled/
sudo ln -s ../sites-available/minha_aplicacao 001-minha_aplicacao

Agora vamos configurar para que quando você digitar no navegador http://minha_aplicacao o sistema operacional procure localmente ao invés de buscar na internet:

sudo gedit /etc/hosts

Nesse arquivo adicione a linha:

127.0.0.1	minha_aplicacao

Logo abaixo da linha que começa com 127.0.1.1…
Salve e feche o gedit.

Reinicie o Apache para carregar esse novo virtual host:

sudo /etc/init.d/apache2 restart

Abra o navegador:

Digite no browser http://minha_aplicacao e veja ela rodando.

Se você quiser usar o Vim como IDE de desenvolvimento Ruby on Rails leia esse post: http://blog.patrickespake.com/2009/04/21/usando-o-vim-para-programar-em-ruby-on-rails/.

Pronto!

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark