二次ベジェ曲線

ベジェ曲線 – からすの日記
げっ、さっきの↑のサンプル、3次ベジェ曲線じゃん!そんなに複雑じゃなくていいので、2次ベジェ曲線を繋いだ図形で十分だ。3次にするとテーブルのカラムも2倍になるし!
なので、2次ベジェ曲線の近似式は、自分で作らなきゃいけないことになった。。まあさっきのサンプルを参考にすればいいのかな。


ベジェ曲線

路線図を滑らかに描くには、ベジェ曲線を使う必要がある。Illustratorなどで使われてる、こういうやつ。

参考リンク:中学生でもわかるベジェ曲線 – Rui's Blog
しかしながら、canvasやCreateJSには、ベジェ曲線を描くメソッドはあるが、ベジェ曲線の関数をゲットできるわけではない。
路線図上に列車を走らせるには、ベジェ曲線から一定間隔離れた点を連続してゲットする必要がある。曲線と直交する単位ベクトルを求めて一定倍して、その軌跡を作らないと列車が走れない。そのためには、曲線の傾きが分からないと垂線が引けない。せめて近似式でもいいから関数を作れないか、と思って探していたら、あった。
ベジェ曲線 – からすの日記
なぜこの式になるのかは改めて勉強する必要があるが、これなら曲線を、直線が連続したものとして近似できる。しかもn分割できる。通過点の配列を作るので、隣り合う2点をもってこれば変換は楽勝だ。列車の軌跡が簡単な計算で作れそうだ。助かった。
さて、ベジェ曲線のためのテーブルも必要になる。次のように定義しよう。

  • tnhalfway
    • linename 所属する路線名
    • kilo 営業キロ(必ず駅と駅の間の値にする)
    • latitude 緯度
    • longitude 経度
    • sp1lat ベジェ曲線の制御点1 経度
    • sp1lon ベジェ曲線の制御点1 緯度
    • sp2lat ベジェ曲線の制御点2 経度
    • sp2lon ベジェ曲線の制御点2 緯度

kiloの値は、位置関係を表すだけの便宜的なものでよさそうだ。直線の距離を足せば合計の直線の長さが計算できるから、駅と駅の間の何%の所の点なのか簡単に計算できる。読み込み後、計算しなおせばよい。
少し前に、いま絶対座標を緯度と経度の小数点以下4桁まで、で持っているけど、精度が良くないんじゃないか。。と思って、経度0.0001度の距離を計算してみたら、約10mだった(計算式は忘れた)。路線図として表示するには、まあまあ許容範囲か、と思われる。wikipediaに載ってる緯度経度情報はおおむね、小数点以下6桁まで表示されている。誤差0.1mまで計算できるなら完璧だ。入力しなおすのはちょっとうんざりだけど、仕方ない。やってみよう。
明日はせめて直線だけでも線路が描けたらいいな!


Beethoven, Friedrich Gulda(pf): Piano Sonata No. 11-14(CD7)

Amazon.co.jp: Ludwig van Beethoven, Horst Stein, Wiener Philharmoniker, Friedrich Gulda : Beethoven: Piano Sonata No. 1-32, Piano Concertos No. 1-5 – 音楽
★★★★☆(13番の2が汚いので減点)
Beethoven, Friedrich Gulda(pf): Piano Sonata No. 7-10(CD6) – diary 六帖の続きです。ピアノソナタ、中盤戦。比較的無名の11-13番の後に、「月光」の副題で有名な14番が続くという1枚。11番は3-4楽章がよいです。グルダさんの演奏はダイナミクスの幅が非常に大きいのが特徴で、ここではその良さが良く発揮されています。4楽章の16分ゾーンも燃えます。12番は1楽章を静かに始める、という初めて聴く構成。wikipediaにも載ってましたがここからベートーヴェンは古典的なソナタの形式を無視し始めます。なんで形に縛られなきゃならない、俺はやりたいようにやるぜ!というロックな思想が見えてきました。第3楽章は「葬送」の名がついてるらしく、交響曲7番2楽章を思わせるような旋律をさらに重ったるく荘厳ぶってダサオーラをまき散らすベートーヴェンらしい名曲です。4楽章も初めて聴くような形式で、ベートーヴェンの俺様道の幕開けを感じます。下降スケールの3連符が可愛いです。13番も名曲揃いで、特に第2楽章は短いくせに超絶美しい旋律が華やかに…と思ったらうるさいよ!強く弾きすぎで汚い!!!これはいただけません。曲がめちゃんこ良いのでもったいなすぎる。彼のダイナミクスの激しさが悪い方に作用している例になってしまった。このシリーズ、熱の入った演奏は異様に音が大きくなるので、グルダさんの思い入れがあったということなのかもしれないけれど、この演奏はやりすぎ。4楽章はよいです。最後に突然盛り上がって終わるところなんか一人オケって感じでよいですね。
で、間髪入れずに14番月光へ(なぜ間を空けないのか?)。私は月光の1楽章だけは弾ける、という人はいるのでは?意外にも2楽章がキュートでよいですね。3楽章目は有名すぎて語ることが何もないです。演奏もパーフェクト。


Faust – The Faust Tapes(1973)


★★★★★ヽ(゚∀゚)ノ
3枚目。あらゆるカテゴライズや意味付けを拒むかのような挑戦的な楽曲たちだった。楽曲と呼んでいいのかどうかも怪しい。期待を裏切ることしか考えてない。ガラクタの寄せ集め。考えるな。感じるんだ。というセリフが今まで聞いたどのアルバムよりも一番似合う。狙ってできるものではない。


Amon Tobin – Supermodified (2000)


★★★★★ ∩(・ω・∩)
リズム大魔神の3枚目。前作よりまた一段とパワーアップしてます。ビートの手数の次は中毒性が大いに増していて、曲自体もジャズ風味のテクニカルなサンプリング魔法が作り出すハイクォリティ。前2作同様アナログな音、デジタルな音が混在しており、アナログ的な音が余計に不気味さを掻き立てる。まず5曲目のGolfer vs Boxerが一つの山で、一貫して酔いそうなベースがうねる中を一度聴いたら忘れられないドラム旋風が吹き荒れる。意味不明シンセ、気味の悪いパッドなども手伝って緊張したまま突っ走る。6曲目Deoも泣きのアナログ音の中に高速ドラムンが駆け巡る印象的な曲だ。7曲目Precursorはボイスパーカッションだけでドラムが構成されている新機軸、8曲目Saboteurは木の音?のようなアフリカ風の打楽器で萌える。さらに10曲目Rhino Jockeyが素晴らしい。中東の香りと頭の悪いベースを漂わせながらサイとラクダの群れが行進してる様なパーカッションを何重にも重ねて、時々フルート?の音で調子をとって目を覚ますという壮大なようなアホなような押し出しの勝ち越しという感じの曲。
アルバムの度にうんと進化しているAmon Tobinさんに今後も注目だ。


ジャズ100枚

昨日、久々に入った本屋で売っていたもの。
ジャズの100枚。 – 「ジャズの100枚。」シリーズ全100タイトルセット – UNIVERSAL MUSIC JAPAN
なんと名盤ばかりの100タイトルが全部1000円。これは超お得プライスだ。順に揃えていっちゃおうか!?いままでverveのシリーズしか聞いていなかったので、せっかくだからオリジナルアルバムを揃えてもいいかも。正直、自分の力だけで名アルバムを揃えられる気がしないので、このようにまとめられているとすごく助かる。


列車の加減速

昨日電車の中で考えてたこと。単に電車のシンボルを時刻表通りに動作させるだけでは前回と同じで面白くないので、出発後と到着前に加減速をするようにしてみたい。また、時刻表には病の記載がないので、記載上停車時間が0秒のことがしばしばある。例えば、山手線の時刻表データは、発時刻しか書いてないので、あたかも全駅で1秒も停車しないような動きしかできない。
試しに山手線で加速、減速のタイミングと停車時間を計ってみた。すると、加速にはたいてい30秒、減速には30〜45秒かかることがわかった。停車時間は25秒〜1分半とかなり幅があった。
簡単のため、加速したら最高速になり、その後減速するまで速度は一定と仮定すると、モデルは次のようになる。a: 加速にかかる時間、b: 減速にかかる時間、c: 発車から停車までにかかる時間、vmax: 最高速。
プログラムでは、現在時刻を与えると現在位置を返す、という関数を作ればよい。グラフのx座標の現在時刻のところにy軸に垂直な線を引いて、できた図形の面積が現在位置となる。これを計算することになる。必要な数字はすべて与えられているので、式さえわかれば計算は容易だろう。
まずvmaxを
a*vmax/2 + (c-b-a)*vmax + b*vmax/2 = 駅間距離
から算出し、それがわかればあとは三角形や台形や長方形の面積を出して足せばOKでしょう。これで発車、停車の簡単なシミュレートができそうだ。ただこのモデルだと現在位置は現在時刻の2次関数になるから、自由落下みたいな加速、ボールを上に投げたときのような減速になるのかな。ちょっと急速すぎるかなぁ。まあ、不自然かどうかはできてから考えよう。
あとは停車時間のモデルだけれど、駅ごとにパラメーターを設定するか、一律のルールを作るか(例えば発時間=着時間だったら30秒にするとか)。一律の方が楽だな。


Singin’ In The Rain @ 東急シアターオーブ

渋谷のヒカリエで現在も絶賛上映中の有名ミュージカル、Singin’ In The Rain(雨に歌えば)。メインテーマは何度も聞いたことがあったけれど、完全なミュージカルを見るのはこれが初めてだった。アダム・クーパーさんを生で見るのはこれが初めて。
ブロードウェイっていいものですね!踊りは上手いわ演技は上手いわ歌も上手いわ、
今日は眠いのでここまでしか書けませんでした。


King Crimson – Thrak(1995)


★★★★★
11年ぶり11枚目。
解散したり再結成したり入れ替わりの激しいこのバンドが久しぶりに出した1枚は、ヘビーさと綺麗さに力を入れつつも以前の意味不明路線も同時に取り込んだ総合的なアルバムだった。2回登場するメインテーマ?のVROOOM、VROOOM VROOOM は力の入ったヘビー系の曲。ストレートに気持ち良いナンバーです。Codaは2曲目のMarine 745の方が好み。
Dinosaur、Inner Garden、People、One Timeといったポップ寄りの曲でも聞かせてくれます。特にOne Timeのヴォーカルの切なさがよいです。残るは意味不明系、6曲目の表題曲THRAKは若干リズムがずれているせいもあって今一つインパクトが足りないが、13曲目のSex Sleep Eat Drink Dreamが非常ーーーによかった。1分41秒地帯から、しばらくの間何が起こっているのかわかりません。この地帯の酩酊感は異常です。後でレビューを見たらドラムとベースが2セットあるのだそうだ。なるほど。リズムが二重になってたのね。ラストにもう一回あってそっちは何とか意味が分かるけど、1回目の意味不明地帯は本当にすごいエネルギーだ。この曲だけのために買ってもいいかもしれない。そんなアルバムです。


The Rough Guide to West African Music(1995)


★★★★☆
ワールドミュージックを聞いてみたい。Rough GuideというアルバムはイギリスのWorld Music Networkによる息の長いシリーズで、すでに300枚以上がリリースされ、現在でも新譜がリリースされ続けている、このシリーズを少しずつ聞いていきます。
まずは古いものから。西アフリカのマリ、ニジェール、ガーナ、モーリタニア、セネガルの曲たち。中でもマリの曲が多い。アフリカという土地柄なのか、比較的単純だけれど、一風変わったパターンを繰り返す曲が多いです。2曲目Djelikaではマリンバなのか木琴の超かわいい音が入って胸がときめきます。6曲目Djama Kaissoumouが非常によく、ヴォーカルはいけてるし後ろから聞こえてくるギロ?のような音、儀式的なフレーズの繰り返しによって、何故か草原でテント生活をしている集落の真っただ中にいるような気になれます。他にも8-9曲目にジャズあり11曲目にイスラム的な曲もあり非常にバリエーションに富んでいます。調べてみたらモーリタニアはやっぱりイスラム圏だった。