- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
その2点がどちらも丁度格子点上にあれば計算でき ますが、辺上の頂点にない点とか三角形の内部にあ る場合は大体の値しかわかりません。 例えば、水平右向きをx軸、左下から右上への斜め 60度の向きをy軸にとってあげれば、 直交座標の基底(1,0),(0,1)にそれぞれ(1,0),(1/2,(√3)/2) を対応させる座標変換を考えます。 方眼紙のどこかの格子点に原点をとり、原点から右 にxずれた点、原点から右上にyずれた点とあわせて 3点を頂点にもつ平行四辺形の残りの頂点の座標が (x,y)であると考えます。 つまり、三角形が並んでいるのではなくて、2つの三角 形をまとめて一つの平行四辺形だとみるのです。 方眼紙のタテのラインが斜めになっていると思えばいい ということ。 そうすれば、二点が格子点上にある限り、一方を原点 とみて√{(x+(y/2))^2+(3/4)y^2)}によって距離が計算 できます。もし二点が右上と左下のような配置でなけ れば位置の左右を反転(斜行座標の意味で)して考え ればいいです。 基本的な考え方はこれでいけます。
その他の回答 (2)
#2です。 >画像の格子を30度回転させて >直線にx軸ジグザグにy軸をとった場合 何を言わんとしているのかイマイチわかり ません。必要ならばその画像を作って別 の質問を立ててください。 基本的な考え方としては、向きが異なる 2種類のベクトルu,vを使ってどの格子点 もある整数m,nによってmu+nvと表せる ならば、#2と同様にして長さを測れます。 直感的には、2点を向かい合う頂点にも つ平行四辺形が存在すればいいです。 あとは、基底の変換をするだけです。
- nag0720
- ベストアンサー率58% (1093/1860)
普通の正方形の方眼紙なら、どこかに原点を決めて、原点からの横方向と縦方向の距離(x,y)で任意の点を表すことができます。 または、2点間の横方向と縦方向の距離(x,y)で相対位置が分かります。 正三角形の方眼紙の場合、任意の点をどうやって表現しますか? または、2点間の相対位置をどうやって表現しますか? まずはそれを確定してください。 それが決まらないことには計算しようがありません。
補足
返答遅くなりすいません回答有り難うございます grangさんが提示された方法で距離は求まりました 1つお聞きしたいのですが画像の格子を30度回転させて 直線にx軸ジグザグにy軸をとった場合でも求めることは可能でしょうか