前提・実現したいこと
決められたエリア内に図のように直線を引きたいです。
直線は2点を決め、その2点間に一定間隔で点を打つようなものです。
エリアは頂点Pの座標のみがわかっています。
直線の間隔dは任意です。
直線自体の作り方、直線のオフセットの仕方は自分で考えているものがあります。
分からないのは、限定されたエリア内にのみ直線を引く方法で、その2点をどのように取ればよいかです。
なにかアイデアがあればご教授お願い致します。
要件で不明な点があります。
・与えられる点は5点に限らないのか?(3点以上の、平面を構成可能な任意の点数に対応しなければならないのか)
・与えられるエリアの点は、順番も一緒に与えられ、その順番も考慮しなければならないのでしょうか。
たとえば、与えられる点に順番がついており、その点を順に直線でつないだ時にできたエリアが鼓型になるようなことがあり得るのか?
・図を見ると、描画する直線は、P4とP5の2点を結んだ直線と平行に見えます。
描画する直線はこのように、「与えられたエリアのどこかの1辺と平行でなければならない」のでしょうか?
それとも「どのそうな角度の直線(デバイスに対して水平・垂直)でも構わない」のでしょうか
①与えられる点は5点に限りません。平面を構成可能な任意の点数に対応する必要があります。
②与えられるエリアの点は頂点の配列に格納されており、順番が決められています。また順番に点をつなぎ鼓形になることは今回は考えません。
③描画する直線は必ずしもどこかの1辺と平行である必要はありませんが、必要であればどこかの1辺と平行になることもあり得ます。つまりどのような角度の直線でも引けるようにしたいというのが答えになります。
実装は、pythonのmatplotlib.pyplot 限定でしょうか?
もしかして前の御質問 https://teratail.com/questions/290378 の内容に関連するものかと思ったので
現在はpythonのmatplotlib.pyplotで記述を行っていますが、後々Javaに移植することも考えています。(Javaは経験がないため勉強中です)
以前の質問と直接関係はありません。今回複数の直線を引く手法は別のものを考えています。
わかりました。PYTHONタグが付いていますが、「複数の直線を引く手法は別のものを考えています。」ということで、具体的な実装ではなくて、「質問内容の要件を満たす一般的な考え方(アルゴリズム)について知りたい」、ということですね。
すみません。いつもの癖でつけてしまいましたが、おっしゃる通り知りたいことは一般的な考え方、アルゴリズムになります。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー