Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クリエイティブコーディングのための数学+JavaScript入門 三角関数と行列

feb19
January 07, 2016

クリエイティブコーディングのための数学+JavaScript入門 三角関数と行列

feb19

January 07, 2016
Tweet

More Decks by feb19

Other Decks in Programming

Transcript

  1. ΞδΣϯμ ᶃ ؔ਺ͱ͸ N  ᶄ ࡾ֯ؔ਺ͱ͸ N  ᶅ

    ࡾ֯ؔ਺Λ࢖ͬͨίʔσΟϯάମݧ N  ᶆ ߦྻͱ͸ N  ᶇ ߦྻΛ࣮૷͢ΔίʔσΟϯάମݧ N  ᶈ ࣗ༝ʹίʔσΟϯά N  ᶉ ൃද N
  2. αΠϯTJO Ҿ਺͕͍͘Β૿͑ͯ΋ʙͷ஋Λ॥؀͢Δ w .BUITJO  ˠ w .BUITJO К➗ <ʜ>ˠ

    w .BUITJO К <ʜ>ˠ w .BUITJO К К➗ <ʜ>ˠ w .BUITJO К <>ˠ
  3. αΠϯDPT Ҿ਺͕͍͘Β૿͑ͯ΋ʙͷ஋Λ॥؀͢Δ
 К➗౓෼͚ͩฦΓ஋͕Φϑηοτ͞Ε͍ͯΔ w .BUIDPT  ˠ w .BUIDPT К➗

    <ʜ>ˠ w .BUIDPT К <ʜ>ˠ w .BUIDPT К К➗ <ʜ>ˠ w .BUIDPT К <>ˠ
  4. ՝୊ᶃɹTJODPTΛ࢖ͬͯԿ͔࡞Δ ੍໿ w .BUITJO .BUIDPT Λ࢖͏ ྫ w ޫ͕໌໓͢ΔΞχϝʔγϣϯ w

    IUUQHPPHMRY3[) w TJODPTΛ࢖ͬͯඳ͔ΕΔਤ w .BUI1*࢖ͬͯ΋͍͍͔΋ alpha = sin(count) x = cos(count)×10 y = sin(count)×10 ⎧ ⎨ ⎪ ⎩ ⎪
  5. ʮߦྻʯͱ͸ w ෳ਺ͷ਺ΛߦͱྻͰอ࣋͢Δ਺ྻ 3 5 ( ) 1 0 0

    1 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ a 11 … a 1n ! " ! a m1 # a mn ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟
  6. ʮߦྻʯͱ͸ w ෳ਺ͷ਺ΛߦͱྻͰอ࣋͢Δ਺ྻ w දݱͰ͸ߦྻಉ࢜ͷܭࢉ·Ͱཧղ͕͋Δͱ͍͍ײ͡ 3 5 ( ) 1

    0 0 1 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ a 11 … a 1n ! " ! a m1 # a mn ⎛ ⎝ ⎜ ⎜ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ ⎟ ⎟
  7. ߦྻͷܭࢉɿ߹ମʢDPODBUʣ M = 1 2 3 4 ⎛ ⎝ ⎜

    ⎞ ⎠ ⎟ 5 6 7 8 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟
  8. ߦྻͷܭࢉɿ߹ମʢDPODBUʣ M = 1 2 3 4 ⎛ ⎝ ⎜

    ⎞ ⎠ ⎟ 5 6 7 8 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = 1×5+2×7 1×6+2×8 3×5+4×7 3×6+4×8 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ҰͭΊͷߦྻ͸ԣʹɺೋͭΊͷߦྻ͸ॎʹ஋Λर͏ ύζϧΈ͍ͨͳײͩ͡Α
  9. ߦྻͷܭࢉɿ߹ମʢDPODBUʣ M = 1 2 3 4 ⎛ ⎝ ⎜

    ⎞ ⎠ ⎟ 5 6 7 8 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = 1×5+2×7 1×6+2×8 3×5+4×7 3×6+4×8 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = 19 22 43 50 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ҰͭΊͷߦྻ͸ԣʹɺೋͭΊͷߦྻ͸ॎʹ஋Λर͏ ܭࢉ্ग़ͯ͘Δߦྻ࠷খͷେ͖͞ʹͳΔ ύζϧΈ͍ͨͳײͩ͡Α
  10. ߦྻͷܭࢉɿ߹ମʢDPODBUʣΛ൚Խ = A× E + B ×G A× F +

    B × H C × E + D×G C × F + D× H ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ M = A B C D ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ E F G H ⎛ ⎝ ⎜ ⎞ ⎠ ⎟
  11. ߦྻͷܭࢉɿ߹ମʢDPODBUʣΛ൚Խ ࿈ཱํఔࣜʹͯ͠ΈΔ = A× E + B ×G A× F

    + B × H C × E + D×G C × F + D× H ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ M = A B C D ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ E F G H ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ → a = A× E + B ×G b = A× F + B × H c = C × E + D×G d = C × F + D× H ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪
  12. ߦྻͷܭࢉɿ߹ମʢDPODBUʣΛ࣮૷ → a = A× E + B ×G b

    = A× F + B × H c = C × E + D×G d = C × F + D× H ⎧ ⎨ ⎪ ⎪ ⎩ ⎪ ⎪ function concatMatrix(A, B, C, D, E, F, G, H) {
 ...
 return [a, b, c, d]
 } IUUQHPPHMF:NX&
  13. ʮߦྻʯԿʹ࢖͏Μ ೋ࣍ݩ࠲ඪ 9 : ΍ࡾ࣍ݩ࠲ඪ 9 : ; ͷΑ͏ʹෳ਺ ͷ஋͔Β੒ΔσʔλΛૢ࡞͢Δ৔߹༗ޮ

    ྫɿʮ࠲ඪʯʹʮม׵ߦྻʯΛՃ͑Δͱ
 ɹɹʮมܗʯ͕ߦ͑ΔʢҰ࣍ม׵ɺΞϑΟϯม׵ʣ w ʮճసͷͨΊͷߦྻʯ SPUBUF  w ʮҠಈͷͨΊͷߦྻʯ USBOTMBUF  w ʮ֦େͷͨΊͷߦྻʯ TDBMF  w ʮ܏ࣼͷͨΊͷߦྻʯ TLFX
  14. ՝୊ᶄɹճసߦྻΛ࣮૷͢Δ ໰୊ɿ࠲ඪ   Λݪ఺Λத৺ʹ౓ʢКʣճ సͤͨ͞࠲ඪΛϓϩάϥϜͰٻΊΑɻ ճసߦྻ cosθ −sinθ sinθ

    cosθ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ ′ P = cosθ −sinθ sinθ cosθ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ 5 10 ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ = cosθ ×5−sinθ ×10 sinθ ×5+cosθ ×10 IUUQHPPHMLO3R