2011年10月5日水曜日

wpf : PathのDataのミニ言語をcsで記述

wpfのPathはさまざまな線を描けるようになっています。 その分扱うデータも複雑です。 前の投稿でもPolyBezierSegment、PathFigure、PathSegmentCollection、PathGeometryなどを組み合わせてやっと一連のベジェ曲線を描くことができました。

xamlで描くときは

<Path Stroke="Black" Data="M 200.0,200.0 C 100,200 200,400 300,100" />

のようにDataを書くだけで良いんですよね。 Data内の数字や記号の並びのことを、MSDNライブラリでは「ミニ言語」と表現されていました。

C#のコード上でこのミニ言語からDataを作る方法、なんか在るはずなのに前の投稿のネタを書いたときには見つかりませんでした。

2011年10月4日火曜日

wpf : 複数の点を通る滑らかな曲線を描く

昨日の続きです。 複数の点を通る滑らかな曲線を描くプログラムを作りました。

サンプルプログラムをキャプチャーするとこんな感じ。

コードは長いので、今回も下の方に載せます。

2011年10月3日月曜日

wpf : 3点を通る曲線をベジェ曲線を組み合わせて作る

マウスドラッグのイベントで通知された点をつなぐ滑らかな曲線を得る。 ペイントソフトを作るとに一番最初に必要となるコードです。 「どうやってるんだろう?」と気になって検索してみたんですが、そのものズバリの解説はありませんでした。

「gimpのコード読め」っていうのが見つかった中での真っ当な意見ですね。 実用的なものを作ろういうならそうするしか無いのかもしれませんが、そこまでやる必要性も根性もなし。 まぁとりあえず自分の持っている知識でそれっぽいコードを書いてみることにしました。

まずは3点を通る曲線を求めるコードに挑戦。 普通はスプライン曲線を使うらしいんですが、「手持ちの知識で」と言うことでベジェ曲線を求めました。 wpfで適当に作ったら意外と時間がかかりました。 こういう算数を使うコードって深夜の思考力がないときに作ったらダメですね。

コードは長ったらしいので後の方に載せるとして、サンプルプログラムをキャプチャーした画像はこんな感じです。

2011年10月2日日曜日

水道の蛇口の三角パッキンを交換

水道の蛇口の三角パッキンを交換しました。 以前別のパッキンを交換したときはかなり時間がかかったけど、今回はすんなりできました。 4つ交換して20分くらいかな?

↓のサイトを参考に交換しました。

2箇所水が滴ってたんですよね。 台所のお湯の蛇口と風呂場の水の蛇口。 あれこれ考えるのが面倒だったので漏れてない蛇口のパッキンも交換したんですが、漏れた蛇口のパッキンと漏れてない蛇口のパッキンを比べて見ても何がどう劣化して水が漏れたのか分かりませんでした。

まぁいいか、無事交換できたんだし。