Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Arte Computacional com Ruby...e amigos!

817 views

Published on

Apresesentação feita com dupla com Carlos Villela (@cv) para a Ruby Masters Conf 2011.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Arte Computacional com Ruby...e amigos!

  1. 1. Arte Computacional com Ruby ...e amigos.
  2. 2. Carlos Villela (@cv) ThoughtWorks há 6 anos (Londres, Porto Alegre) Ruby desde 2004 Java, Ruby, Smalltalk, Io, Ioke, etc... Twitter, GitHub, Flickr: cv Blog: http://lixo.org© 2011 ThoughtWorks, Ltd. All rights reserved.
  3. 3. Thiago Bueno (@tbueno) ThoughtWorks há 1+ ano (Porto Alegre) Ruby desde 2005 Java, Ruby, Clojure, etc Twitter, GitHub, Flickr: tbueno Blog: http://tbueno.org© 2011 ThoughtWorks, Ltd. All rights reserved.
  4. 4. iπ e +1=0© 2011 ThoughtWorks, Ltd. All rights reserved.
  5. 5. Número de Euler Unidade Imaginária iπ e +1=0 Identidade de Euler© 2011 ThoughtWorks, Ltd. All rights reserved.
  6. 6. Número de Euler Unidade Imaginária Pi iπ e +1=0 Identidade de Euler© 2011 ThoughtWorks, Ltd. All rights reserved.
  7. 7. Número de Euler Unidade Imaginária Pi iπ e +1=0 Identidade de Euler 1© 2011 ThoughtWorks, Ltd. All rights reserved.
  8. 8. Número de Euler Unidade Imaginária Pi iπ e +1=0 Identidade de Euler 1 0© 2011 ThoughtWorks, Ltd. All rights reserved.
  9. 9. Número de Euler Unidade Imaginária Pi iπ Adição e +1=0 Identidade de Euler 1 0© 2011 ThoughtWorks, Ltd. All rights reserved.
  10. 10. Número de Euler Unidade Imaginária Pi iπ Multiplicação Adição e +1=0 Identidade de Euler 1 0© 2011 ThoughtWorks, Ltd. All rights reserved.
  11. 11. Número de Euler Unidade Imaginária Pi iπ Multiplicação Adição e +1=0 Identidade de Euler 1 0 Exponenciação© 2011 ThoughtWorks, Ltd. All rights reserved.
  12. 12. “most beautiful theorem in mathematics” iπ e +1=0 “greatest equation ever”© 2011 ThoughtWorks, Ltd. All rights reserved.
  13. 13. “Beauty depends on size as well as symmetry.” – Aristotle (384 B.C.-322 B.C.), Poetics© 2011 ThoughtWorks, Ltd. All rights reserved.
  14. 14. “the mathematician is only complete in so far as he feels within himself the beauty of the true.” – Goethe© 2011 ThoughtWorks, Ltd. All rights reserved.
  15. 15. “... who is not at the same time a bit of a poet will never be a full mathematician..” – O. Spengler, in J. Newman, The World of Mathematics, Simon & Schuster, 1956© 2011 ThoughtWorks, Ltd. All rights reserved.
  16. 16. Por que Ruby?© 2011 ThoughtWorks, Ltd. All rights reserved.
  17. 17. Beleza© 2011 ThoughtWorks, Ltd. All rights reserved.
  18. 18. Simplicidade© 2011 ThoughtWorks, Ltd. All rights reserved.
  19. 19. Sintaxe© 2011 ThoughtWorks, Ltd. All rights reserved.
  20. 20. Beleza “Beauty depends on size as well as symmetry.” - Aristotle (384 B.C.-322 B.C.), Poetics© 2011 ThoughtWorks, Ltd. All rights reserved.
  21. 21. Beleza Simplicidade “Beauty depends on size as well as symmetry.” - Aristotle (384 B.C.-322 B.C.), Poetics© 2011 ThoughtWorks, Ltd. All rights reserved.
  22. 22. Beleza Simplicidade “Beauty depends on size as well as symmetry.” - Aristotle (384 B.C.-322 B.C.), Poetics Sintaxe© 2011 ThoughtWorks, Ltd. All rights reserved.
  23. 23. Matemática e a Arte Proporção Áurea (Phi) • Aprox.1.6180339887 A proporção de a+b para a é a mesma de a para b a b Alega-se ser a proporção mais esteticamente aplasível ao ser humano. a+b© 2011 ThoughtWorks, Ltd. All rights reserved.
  24. 24. Matemática e a Arte© 2011 ThoughtWorks, Ltd. All rights reserved.
  25. 25. Matemática e a Arte© 2011 ThoughtWorks, Ltd. All rights reserved.
  26. 26. Matemática e a Arte© 2011 ThoughtWorks, Ltd. All rights reserved.
  27. 27. Matemática e a Arte© 2011 ThoughtWorks, Ltd. All rights reserved.
  28. 28. Matemática e a Arte Nota Frequência Logaritmo Música Física Matemática© 2011 ThoughtWorks, Ltd. All rights reserved.
  29. 29. A Matemática é Sua Amiga Álgebra • Curvas, retas, transformações Geometria • Quadriláteros, círculos... Geometria • Senos, cosenos, tangentes... Propriedades dos números • Naturais, inteiros, racionais, primos...© 2011 ThoughtWorks, Ltd. All rights reserved.
  30. 30. Ver© 2011 ThoughtWorks, Ltd. All rights reserved.
  31. 31. ruby-processing Processing • Linguagem/ambiente de programação para imagens, animações e projetos multimídia • MIDI, OpenGL, Arduino... ruby-processing • É um wrapper Ruby do framework • Beleza do Ruby + as bibliotecas gráficas do Java© 2011 ThoughtWorks, Ltd. All rights reserved.
  32. 32. ruby-processing© 2011 ThoughtWorks, Ltd. All rights reserved.
  33. 33. ruby-processing posição e ângulo de uma “raiz”© 2011 ThoughtWorks, Ltd. All rights reserved.
  34. 34. ruby-processing PI ,C os eS en© 2011 ThoughtWorks, Ltd. All rights reserved.
  35. 35. ruby-processing Chamadas Recursivas© 2011 ThoughtWorks, Ltd. All rights reserved.
  36. 36. ruby-processing De se n ha “fo lha s”© 2011 ThoughtWorks, Ltd. All rights reserved.
  37. 37. ruby-processing© 2011 ThoughtWorks, Ltd. All rights reserved.
  38. 38. Context-free Art Geração de imagens através de uma gramática livre de contexto e regras não determinísticas Escrito em C++ e Objective-C Parcialmente re-escrito com uma DSL em Ruby para o ruby- processing© 2011 ThoughtWorks, Ltd. All rights reserved.
  39. 39. Context-free Art© 2011 ThoughtWorks, Ltd. All rights reserved.
  40. 40. Context-free Art© 2011 ThoughtWorks, Ltd. All rights reserved.
  41. 41. Visualização de Dados - Exemplo Real Base de Dados de 100 corais de Johann S. Bach Salvos em um arquivo Lisp (1 ((st 8) (pitch 67) (dur 4) (keysig 1) (timesig 12) (fermata 0))((st 12) (pitch 67) (dur 8) (keysig 1) (timesig 12) (fermata 0)) ((st 20) (pitch 74) (dur 4) (keysig 1) (timesig 12) (fermata 0))((st 24) (pitch 71) (dur 6) (keysig 1) (timesig 12) (fermata 0)) ((st 30) (pitch 69) (dur 2) (keysig 1) (timesig 12) (fermata 0))((st 32) (pitch 67) (dur 4) (keysig 1) (timesig 12) (fermata 0)) ((st 36) (pitch 67) (dur 6) (keysig 1) (timesig 12) (fermata 0))((st 42) (pitch 69) (dur 2) (keysig 1) (timesig 12) (fermata 0)) ((st 44) (pitch 71) (dur 4) (keysig 1) (timesig 12) (fermata 0))((st 48) (pitch 69) (dur 8) (keysig 1) (timesig 12) (fermata 1)) ((st 56) (pitch 71) (dur 4) (keysig 1) (timesig 12) (fermata 0))((st 60) (pitch 74) (dur 8) (keysig 1) (timesig 12) (fermata 0)) ((st 68) (pitch 72) (dur 4) (keysig 1) (timesig 12) (fermata 0))((st 72) (pitch 71) (dur 4) (keysig 1) (timesig 12) (fermata 0)) ((st 76) (pitch 69) (dur 8) (keysig 1) (timesig 12) (fermata 0))((st 84) (pitch 67) (dur 8) (keysig 1) (timesig 12) (fermata 1))© 2011 ThoughtWorks, Ltd. All rights reserved.
  42. 42. Visualização de Dados - Exemplo Real Uso de Ruby devido à facilidade para parsing de strings Ruby + JRuby + Processing Reconhecimento de padrões Transformação de música em imagem© 2011 ThoughtWorks, Ltd. All rights reserved.
  43. 43. Ouvir© 2011 ThoughtWorks, Ltd. All rights reserved.
  44. 44. Básico do básico C = 261.626 Hz D = 293.665 Hz E = 329.628 Hz F = 349.228 Hz G = 391.995 Hz A = 440.000 Hz B = 493.883 Hz C D E F G A B = escala C Maior© 2011 ThoughtWorks, Ltd. All rights reserved.
  45. 45. Básico do básico C# = 277.183 Hz D# = 311.127 Hz E# = 349.228 Hz F# = 369.994 Hz G# = 415.305 Hz A# = 466.164 Hz B# = 523.251 Hz© 2011 ThoughtWorks, Ltd. All rights reserved.
  46. 46. Básico do básico C = 246.942 Hz D = 277.183 Hz E = 311.127 Hz F = 329.628 Hz G = 369.994 Hz A = 415.305 Hz B = 466.164 Hz© 2011 ThoughtWorks, Ltd. All rights reserved.
  47. 47. Básico do básico C D E F G A B = C maior C G D A E = pentatônica em C F G A C D = pentatônica em F C E F F G B C = Blues!© 2011 ThoughtWorks, Ltd. All rights reserved.
  48. 48. MIDI, OSC Protocolos de comunicação como quaisquer outros Ubíquos • Ok, OSC nem tanto... Simples Latência é o fator mais importante • Antigamente, hardware/cabos especiais • Hoje, Ethernet, USB e até Wi-Fi© 2011 ThoughtWorks, Ltd. All rights reserved.
  49. 49. OSC UDP Simples Pequenos pacotes Baixa latência https://github.com/maca/ruby-osc https://github.com/aberant/osc-ruby© 2011 ThoughtWorks, Ltd. All rights reserved.
  50. 50. OSC Suporte nativo no Monome Quartz Composer Ótimo para iniciantes!© 2011 ThoughtWorks, Ltd. All rights reserved.
  51. 51. MIDI Padrão indústria Suporte pelo OS GarageBand, Logic, Reason, Ableton Live!, etc Muita coisa legada • Meio gambiarrento • Protocolo ainda bastante atrelado a hardware© 2011 ThoughtWorks, Ltd. All rights reserved.
  52. 52. Midiator Biblioteca Ruby para iteração com MIDI https://github.com/bleything/midiator • gem install midiator Extremamente simples Multi-plataforma • Software synth incluído para a versão Mac© 2011 ThoughtWorks, Ltd. All rights reserved.
  53. 53. Midiator require rubygems require midiator 2.times do [G3, A3, G3, F3].each { |note| midi = MIDIator::Interface.new midi.play note, 0.250 } midi.use :dls_synth midi.play E3, 0.5 midi.play C3, 1 include MIDIator::Notes end Mac Only! 2.times do 2.times do [C3, D3, E3, C3].each{ |note| midi.play note, 0.5 } midi.play C3, 0.5 end midi.play G3, 0.5 midi.play C3, 1.0 2.times do end midi.play E3, 0.5 midi.play F3, 0.5 midi.play G3, 1 end© 2011 ThoughtWorks, Ltd. All rights reserved.
  54. 54. Archaeopteryx Gerador de MIDI real-time, usando live coding github.com/gilesbowkett/archaeopteryx Sequenciador de batidas que permite a criação de ritmos como Drum’n’Bass, Techno e Ambient Probabilidade para gerar comportamentos randômicos e “improvisações”© 2011 ThoughtWorks, Ltd. All rights reserved.
  55. 55. A seguir, algumas palavras soltas... ...para você se divertir no Google© 2011 ThoughtWorks, Ltd. All rights reserved.
  56. 56. sierpinski - chiptunes - mandelbrot - fibonacci- fractals - hypercube - game of life - arduino- monome - chuck - circuit bending - escher- sistemas de particulas - supercollider - puredata - quartz composer - reactable - c’74 max© 2011 ThoughtWorks, Ltd. All rights reserved.
  57. 57. Livros The Computational Beauty of Nature Gödel, Escher, Bach: An Eternal Golden Braid Programming Interactivity: A Designers Guide to Processing, Arduino, and Openframeworks Processing: A Programming Handbook for Visual Designers and Artists© 2011 ThoughtWorks, Ltd. All rights reserved.
  58. 58. Websites - Matemática e Arte http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/ Fibonacci/fibInArt.html • Proporção áurea e Números de Fibonacci nas artes, arquitetura e música. http://www.2dcurves.com/ • Coleção de curvas matemáticas http://www.cut-the-knot.org/manifesto/index.shtml • Manifesto matemática-arte© 2011 ThoughtWorks, Ltd. All rights reserved.
  59. 59. Websites - Visuais http://www.complexification.net/ • Exemplos de obras feitas com Processing (incluindo a imagem da capa desta apresentação) http://openprocessing.org • Agregador de animações feitas com Processing(incluindo a imagem mostrada no último slide desta apresentação) http://www.contextfreeart.org/ • Site sobre context-free art© 2011 ThoughtWorks, Ltd. All rights reserved.
  60. 60. Websites - Áudio http://upload.wikimedia.org/wikipedia/commons/9/97/ Fibonacci.ogg • Composição musical feita com os números de Fibonacci http://botverse.com/music-and-mathematics-finding-the- natural-and-the-pentathonic-scales/5 http://thinkzone.wlonk.com/Music/12Tone.htm • Explicação matemática para as escalas musicais© 2011 ThoughtWorks, Ltd. All rights reserved.
  61. 61. Obrigado!”Mathematics, as much as music or any other art, is one of the means by which we rise to a complete self-consciousness. The significance ofMathematics resides precisely in the fact that it is an art; by informing usof the nature of our own minds it informs us of much that depends on our minds.” - J.W.N.Sullivan (1886-1937), Aspects of Science, 1925. Entre em contato Carlos Villela cv@lixo.org Thiago Bueno tbueno@gmail.com

×