質問編集履歴

1

考察の追加

2018/06/07 12:59

投稿

efcode
efcode

スコア422

test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,35 @@
49
49
  始めにスタート地点から目標地点までの直通ベクトルに対して全ての壁との衝突判定をして、ヒットしていたら分割して行くという方法も考えたのですが、
50
50
 
51
51
  (4,3)(7,4)(8,5)の壁がまずヒットし...と仮の中間点を追加して行きつつそれらを結ぼうと思っても、(7,4)の壁から座標(7,3)辺りに中間点を置くとした場合に、上のルートにならない状況が考えられてしまったりしてどうしたものかと思っています。
52
+
53
+
54
+
55
+ (2018/06/07)追記
56
+
57
+ 重要なのは壁の端というのは分かっていたのですが、「どの壁の端か」を特定する為に、ベクトルの衝突(交差)という方法を用いようとしました。
58
+
59
+ 追加した中継点が必要か不必要かの判定も必要で、「端点か角」の中継点が有用であるのも直感的に理解は出来ます。
60
+
61
+ 「上下移動による検索」のルート探査を行った上で、中継点がどの領域と接しているかによってどっちのルートの中継点になるかを判別可能である、というのは上の文章を書いてから気がつきました。(下図)
62
+
63
+ ![イメージ説明](0ab53d260983c565e4e23d62e81b417f.png)
64
+
65
+ 灰色はルート1とルート2の共有ルートです。
66
+
67
+ 色(ルート)に属していない中継点は検索の対象から外せます。
68
+
69
+ ルートであるのに色の付いていない所は、同じコストの別ルートがある場合。(だけど、条件としてはこれでは駄目で、route2と書かれた右上の白い場所が壁で囲まれていた場合、この条件では破綻します)
70
+
71
+
72
+
73
+ 色の上であるのに端点としては使えないものがあるが、条件が分からない。(灰色に青い点が付いた中継点)
74
+
75
+ ベクトルの衝突判定は、端点を出す為ではなく、中継点を接続した時に有効かどうかを判定する為に使えそう。
76
+
77
+
78
+
79
+ まだ整理が付いていないですが、まだまだ自分の理解が浅いというのを痛感しています。
80
+
81
+ 時間もなく、考える頭の許容量も目一杯で、分不相応な課題に取り組んでいる事も痛感しています。
82
+
83
+ 議論の場として機能してほしいのですが、ベストアンサーを付けて終了しなければならないのかとも思っていて不安です。もう少し考える時間がほしいと思っています。私のわがままなのですがすいません。