image

  • フォト Amazonギフト券
    ※この時計の時刻は、閲覧しているパソコンのものであり、必ずしも正確な時間とは限りません

検索

最近のトラックバック

無料ブログはココログ

« 2008年3月3日 | トップページ | 2008年3月6日 »

2008年3月5日

2008-03-05

春琴 を観た

Fly_p_080221_syunkin_m_pm_img_2
舞台 春琴 を観た。
http://setagaya-pt.jp/theater_info/2008/02/post_103.html

一階立ち見であったが、R17番 という見やすい位置であった。
一階立ち見は L, R 側それぞれ  21席ある。(3階立ち見もあるようです)
5−16番が席横の通路に、17-25 番がすこし上にある脇通路に並ぶ。
17 番は前に人がいないので見やすかった。ただ、舞台の右奥が見えないが、支障はない。

演出は サイモン・マクバーニー という方。
谷崎潤一郎の「春琴抄」「陰翳礼讃」をもとにしている。

まさに 舞台の空間を切り取る という演出が目立ち、とても面白い。
日本人による日本の演出というものとは、明らかに何かが違う。でも日本らしさがよく出ている。

人形の妖しさを再発見。

ピックアップ:DokuWikiを持ち歩く, mixi規約改定騒動まとめ, etc...

- http://www.moongift.jp/2008/03/tipcam/
> > MOONGIFT: » PC操作をレコーディング「TipCam」:オープンソースを毎日紹介

- http://www.moongift.jp/2008/03/zorro/
> > MOONGIFT: » 見たいところだけ見せる「Zorro」:オープンソースを毎日紹介

- http://www.moongift.jp/2008/03/dokuwiki_on_a_stick/
> > MOONGIFT: » DokuWikiを持ち歩く「DokuWiki on a Stick」:オープンソースを毎日紹介

- http://www.ideaxidea.com/archives/2008/03/post_390.html
> > サンプルコードが見つかるかも?!知っておきたいコード検索エンジンまとめ | IDEA*IDEA

- http://info.cocolog-nifty.com/info/2008/03/post_97d9.html
> > お知らせココログ: 1年間記事の新規作成のないココログフリーのアカウントについて

- http://d.hatena.ne.jp/sirouto2/20080202/p1
> > mixi規約改定騒動まとめ - 萌え理論Blog

blog/SNS の規定見直しが流行っている?

- http://aruhenshu.exblog.jp/8362674/
> > ある編集者の気になるノート : ミスを犯したとき、「謝る」以上に大切なこと。

- http://builder.japan.zdnet.com/news/story/0,3800079086,20368499,00.htm
> > ウェブページのデータをXMLDBで再利用--builder tech day - builder by ZDNet Japan

- http://jp.techcrunch.com/archives/microsoft-office-online-and-attacking-the-innovators-dilemma/
> > TechCrunch Japanese アーカイブ » 「MS Office」のオンライン化―「現状破壊的テクノロジー」への対応という難問への挑戦

- http://www.infoq.com/jp/news/2008/03/actors-rubinius
> > InfoQ: Article: Rubyの並行性、アクター、およびRubinius - MenTaLguY氏へのインタビュー

- http://d.hatena.ne.jp/unageanu/20070831/1188544728
> > ファイルアップロードを受け付けるCGIの簡単なサンプル - うなの日記

- http://d.hatena.ne.jp/taiyo/20080212/p1
> > コマンドの実行時間を手軽に計測するユーティリティ - spikelet days

- http://www.atmarkit.co.jp/news/200803/04/jython.html
> > 米サン、JRubyに続いてJythonの開発者を採用 − @IT

ruby + tk の練習

突然はなしが変わってRuby/Tkでアニメーションを作る話
   http://d.hatena.ne.jp/miura1729/20080302/1204443134

 

という記事のコードを基に、自分なりにすこし変形させてみた。
ビリヤードゲームでのボールの動きを真似してみた。
(下は動画ではありません、スイマセン)

20080305ball

ボールが 壁に反射した時/床を転がる時に だんだんと速度を落としていくようになっています。

$ cat ball2.rb

# See http://d.hatena.ne.jp/miura1729/20080302/1204443134

require 'rubygems'
require 'tk'
require 'singleton'

class Viewer < TkFrame
  include TkComposite

  WIDTH, HEIGHT = 512, 512

  def initialize_composite
    @frame.configure(:width=>WIDTH, :height=>HEIGHT)
    @frame.grid_propagate(false)

    @canvas = TkCanvas.new(@frame)
    @canvas.configure(:width=>WIDTH, :height=>HEIGHT)
    @canvas.grid('row'=>0, 'column'=>0, 'sticky'=>'news')
  end

  def draw_oval(x, y, r)
    TkcOval.new(@canvas, x - r, y - r, x + r, y + r, 'fill' => :red)
  end
end

class Field
  include Singleton

  def initialize
    @view = Viewer.new
    @view.pack(:expand=>true, :fill=>:both)
  end

  def draw_oval(x, y, r)
    @view.draw_oval(x, y, r)
  end
end

class Ball
  @@field = Field.instance

  def initialize(r, x, y, vx = 0, vy = 0, factorWall = 0.9, factorFloor= 0.99, minSpeed = 0.05)
    @r, @x, @y, = r, x, y
    @vx, @vy = vx, vy
    @shape = @@field.draw_oval(@x, @y, @r)
    @factorWall = factorWall
    @factorFloor = factorFloor
    @minSpeed = minSpeed
  end

  def resetV(v)
    @vx, @vy = v[0], v[1]
  end

  def redraw
    @shape.coords = [ @x - @r, @y - @r, @x + @r, @y + @r ]
  end

  def speeddownByWall
    @vx, @vy = @vx * @factorWall, @vy * @factorWall
  end

  def speeddownByFloor
    @vx, @vy = @vx * @factorFloor, @vy * @factorFloor
  end

  def compute_next_pos
    speeddownByFloor
    @x += @vx
    @y += @vy

    if (@y <= @r) || (Viewer::HEIGHT - @r <= @y) then
      @vy *= (-1)
      @y += @vy
      speeddownByWall
    end
    if (@x <= @r) || (Viewer::WIDTH - @r <= @x) then
      @vx *= (-1)
      @x += @vx
      speeddownByWall
    end

    if (@vx.abs + @vy.abs) < @minSpeed then
      return false    # delete Ball
    end

    redraw
    return true       # move Ball
  end
end

def newBall
  v = newV
  Ball.new(@r, @initX, @initY, v[0], v[1])
end

def newV
  th = rand * Math::PI * 2
  [@vx * Math.cos(th), @vy * Math.sin(th)]
end

@r = 10
@vx, @vy = 30, 30
@initX, @initY = 15 + @r , 15 + @r

balls = [ newBall ]

steps = 0
timer = TkAfter.start(10, -1, lambda {
  steps += 1

  balls.each do |ball|
    ball.resetV(newV)  if !ball.compute_next_pos
  end

  balls << newBall  if steps % 500 == 0
  # puts balls.size   if steps % 500 == 0
})

Tk.mainloop

ちょっと長くなってしまった。

同様のものを xfy/xvcd + SVG で書いたらどうなるだろう...

« 2008年3月3日 | トップページ | 2008年3月6日 »

mokuji

2013年12月
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        

google

  • twitter
  • __
  • _
    Googleボットチェッカー

合わせて読む

  • 合わせて読む
    フィードメーター - katoy: cocolog あわせて読みたい

リンク