2020-02-26 (We)
_ 点が矢印の中にあるかどうか
三角形の部分は除いて、点が線分の部分の中にあるかどうかを調べたい。
線分の部分の端の点を A, B、点を C とする。
- 直線 AB と点 C との距離が一定以下
- 角 CAB が鋭角
- 角 CBA が鋭角
この3つを満たせば、線分の部分の中にあると思う。
角が鋭角かどうかは、内積が正かどうかで判断できるので、こっちは簡単。
点と直線の距離は、座標から求めようかと思ったんだけど、 三角形 ABC の各辺の長さが判ってるので、三平方の定理でいけるかと。
角 C を挟む辺の長さが a, b で、対する辺の長さが c。 C から垂線を下ろして、垂線の長さを d とすれば、
\[ \sqrt{a^2-d^2} + \sqrt{b^2-d^2} = c \]
かな。二乗して、
\[ a^2 + b^2 - 2d^2 + 2\sqrt{(a^2-d^2)(b^2-d^2)} = c^2 \]
移項して、
\[ 2\sqrt{(a^2-d^2)(b^2-d^2)} = c^2 - a^2 - b^2 + 2d^2 \]
もう一回二乗して
\[ 4(a^2-d^2)(b^2-d^2) = (c^2 - a^2 - b^2 + 2d^2)^2 \]
左辺右辺それぞれ整理して、
\[ 4a^2b^2-4a^2d^2-4b^2d^2+4d^4 = (c^2-a^2-b^2)^2 + 4(c^2-a^2-b^2)d^2 + 4d^4 \]
$d$ を左辺へ、他を右辺へ。
\[ -4a^2d^2-4b^2d^2 - 4(c^2-a^2-b^2)d^2 = (c^2-a^2-b^2)^2 - 4a^2b^2 \\ -4(a^2+b^2)d^2 - 4(c^2-a^2-b^2)d^2 = (c^2-a^2-b^2)^2 - 4a^2b^2 \\ -4c^2d^2 = (c^2-a^2-b^2)^2 - 4a^2b^2 \\ d^2 = \frac{(c^2-a^2-b^2)^2 - 4a^2b^2}{-4c^2} \]
$d\ge 0$ だから、
\[ d = \sqrt{\frac{(c^2-a^2-b^2)^2 - 4a^2b^2}{-4c^2}} \]
符号が気持ち悪いので、
\[ d = \sqrt{\frac{4a^2b^2 - (c^2-a^2-b^2)^2}{4c^2}} \]
検算。
$a=5$, $b=3\sqrt{2}$, $c=7$ の場合。
$a^2=25$, $b^2=18$, $c^2=49$ なので、
\[ \begin{align} d &= \sqrt{\frac{4a^2b^2 - (c^2-a^2-b^2)^2}{4c^2}} \\ &= \sqrt{\frac{4\times 25\times 18 - (49-25-18)^2}{4\times 49}} \\ &= \sqrt{\frac{1800 - 36}{196}} \\ &= 3 \end{align} \]
正解!
A, B, C の座標が既知だから、そこから $a$,$b$,$c$ を求めて使おうと思ってたけど、 $a^2$,$b^2$,$c^2$ しか使わないなら、そこで平方根を使わなくて済む。 平方根は $d$ を求める一番最後のステップだけか。計算速そうだな。
明日はこれを実装しよう。
2022-02-26 (Sa)
_ ヘブバン
第2章クリア!
ラスボス、auto じゃクリアできなくて、 なんかあるのかな、と思って攻略サイト見たら、 バフとかボスの状態とかちゃんと有効活用してて、 なるほど auto じゃそんなことやんないからな、って。
自分で操作することにした。
ただ、参考にした攻略サイトは、ボスの状態が毎回ほぼ同じ的な書き方だったんだけど、 私がやったところでは、なんとなく同じなんだけど違うことも多くて、 たぶん、プレイヤーの操作によって違うことがあるんだろうな。
そして、ナービィの正体って…
2023-02-26 (Su)
_ 原神 - 千尋の砂漠、終わり
うーん、楽しくない。
昨日アンケートにも回答したけど。 わりとボロクソ目な評価にしたし、自由回答も辛口で書いておいた。
ウェネトに初挑戦。たいした攻撃もなく、面倒くさいだけ? 沙羅曼蛇とかを思い出したのは私だけじゃないと思う。 まぁ細長い生き物が地面から出てきて地面に潜っていくのは、 よくあるパターンか。
_ 凪チャレを見た
なんでこんなに避けれるのかなぁ... みんなすごいわ…