ここで助けが必要です。私は実験的な Web フォーム デザインを行う数字が苦手な UI デザイナーであり、Web ページでクリックされたポイントに最も近い入力要素を知る必要があります。ポイントで最近傍を行う方法は知っていますが、入力要素はポイントではなく長方形であるため、行き詰まっています。
私はjQueryを使用しています。この小さなアルゴについて助けが必要です。実験が終わったら、私が何をしているかを皆さんにお見せします。
アップデート
どうすればうまくいくかを考えました。この図を見てください:
各長方形には、重要な 8 つのポイント (または 4 つのポイントと 4 つの線) があります。水平点 (赤い点) では x 値のみが重要であり、垂直点 (緑色の点) では y 値のみが重要です。コーナーでは x と y の両方が重要です。
Orange crosses are the points to be measured against – mouse clicks in my use case. The light purple lines are the distances between the orange cross and it's possible nearest point.
So… for any given orange cross, loop through each of the 8 points n every rectangle to find the nearest edge or corner closest of each rectangle to the orange cross. The rectangle with the lowest value is the nearest one.
I can conceptualize and visualize it but can't put it into code. Help!