2014-04-02

(ウディタ)「図形表示で色を使うの巻」、「三角関数で距離を求めるの巻」

(画像は開発中にもほどがある代物だよ。)

ウディタの図形表示は白しか使えないかと思ったらそんなこともなかったというはなし。
それから、直角三角形の斜辺の長さを、三角関数を使ってもとめてみるはなし。
二本立てだよ!

理屈はよくわからんけど、やってみたらできてた的どんぶり勘定でおおくりしています。
数学が得意な方はイラつくこと必至。



あいかわらずウディタでなにかつくってるんですが。
設計を何度か考えなおして、そのたびに作り直してるので前よりも振り出しに近い状況におります。
やっとマップを構築するためのベースができた。ほんとに骨組み以前というか、基礎だけ。


ピクチャの図形機能を使ってマップを生成しています。
丸とか線とか。
基本的に図形表示は白でしか描画できないというか、まっとうな方法で色を指定できないのですが、
カラー補正欄で色調を変えることで、一応、色を指定できるとわかりました。
カラー補正のRGBは、図形表示の時、100,100,100で白、0,0,0で黒…という具合になります。
ただ、慣れない指定方式なので、ねらった色をだすのがむずかしい。
そこで別のデータを流用することにします。
システムデータベースに文字色を、RGBで登録できます。この値を使う。
RGB値は、255,255,255で白、0.0.0で黒。
RGB値はよくつかわれている指定方法なので、ペイントソフトなどで色を確かめるのが簡単。
図形に使いたい色を文字色として登録。
その値を呼び出して、R、G、B それぞれの値を、カラー補正値に変換して使います。

つまるところ…
   カラー補正値=RGB値×100÷255
で、近似値を得られる。

精度がいかほどか検証してません。
同じ色にはまずならないが、似てる色にはなる。
(何度でも言いますが私は本当に算数ができないので255で割るのがいいのか256で割るのがいいのかなど、こまかいことはあんまり考慮できないです)


それから。
わたしにとって鬼門なのですが、三角関数の演算子を使ってみようと。
2点間の距離を導き出すためです。
上の画像で白い斜線が一本のびてるかと思うんですが、その長さをね、どうやってもとめたらいいのかなあと、思案しまして。
問いとしてはこういうかんじなんですが↓

Q..2次元上にふたつの点がある。座標は両方ともあきらかである。さてその距離は?

座標があきらかなので、つまりは直角三角形の斜辺を求めるってことになるなあと、
そこまではわかる。

で?その方法は?
えっと…?

ウディタで!直角三角形の!斜辺の長さを求めるには!
ほんとうに、私にしてはがんばって考えた。
『算数入門』という本も開いた。
「三角関数」で検索して勉強もした。
なんとなく…なんとなく理解した!でもすぐ忘れそうなので勢いに頼って計算式をつくっておきました。かなり…自分のためです。

ちょくせつ平方根を求められればピタゴラスの定理がわかりやすいですが、
できたとしてもなんか処理が重くなりそうだったので、その公式はあきらめ、
かわりにcosとか…使って求めました。

↓書いてる本人でも数日後には意味不明になってそうなメモ。

①は、右辺にXとYを入れればいいだけです。


ほんとに正しい式なのかどうか、よくわかっちゃいませんが、困った数字が返ってこないので、大丈夫なんでしょう。

cosとはなんなのか、うすらぼんやりとしか、理解できていなかったのですが、
調べたり書いたりしてるうちになんかちょっと、わかったような気になりました。説明できるほどではありませんが、ああ、なんだそんなことか、と。
比の問題なのだな。

やればできる。そう…普段、二桁の足し算ですらまともにできないこんな私でも。