プログラミング詳しい人ちょっときて
■ このスレッドは過去ログ倉庫に格納されています
正方形の中にid1-10000の10000個の点が散りばめられて配置してある
id1と最も近い点を見つけるにはどうしたらいい? 最小距離と最小距離取ったidだけ記録更新するようにしてfor回す 意味がわからん
座標なのか単一の数値なのかはっきりしろ 1から上下左右の方向を測って一番近くのものの座標をxとyに分けて確保して座標合計が0に近い物を採用 いい方法っつっても総当たり前にソートしたり距離計算するまでもない候補弾いたりくらいしかなくね ループでマンハッタン距離出して一番小さいものを選ぶだけじゃん 総当たり以外に見つける方法があるなら最初からid1の場所分かってるだろ マス目があるならid1の座標から1マス離れたところ、2マス離れたところ……ってfor文で回して該当する点が存在するか探す
これくらいしかなくね
なるべく少ない回数にはなると思う id1の位置とってプラマイいくつかのエリアにあるモノ抽出してディスタンスで調べれば?
from sklearn.neighbors import KDTree
import numpy as np
# ランダムな10000点の生成
points = np.random.rand(10000, 2)
# KDTreeの構築
tree = KDTree(points)
# 最近傍点を見つける
query_point = np.array([[0.5, 0.5]]) # クエリ点の座標
distance, index = tree.query(query_point, k=1)
# 最も近い点のインデックスと距離を出力
print("最近傍点のインデックス:", index)
print("最近傍点の距離:", distance) 構築時に情報足して良いならとか整数座標なのかfloatなのかとか
説明がとにかく足らんので全体舐めろとしか言えない 10000とか雑魚すぎるけど
もう少し詳しく話してもらわないとな const main = () => {
const points = makeTestData();
const p1 = points[0]; // id=1の座標
const scores = points.filter(p => p.id !== 1).map(p => {
return { id: p.id, score: Math.abs(p.x - p1.x) + Math.abs(p.y - p1.y) };
});
const pMin = Object.values(scores).reduce((a, b) => a.score < b.score ? a : b);
console.log(pMin);
};
const makeTestData = (count_ = 100) => {
const points = [];
let id = 0;
while (id++ < count_) {
const x = Math.floor(Math.random() * count_);
const y = Math.floor(Math.random() * count_);
points.push({ id, x, y });
}
console.log(points);
return points;
}; >>38
旅行加速しそう
そらハンゲの麻雀をまだやってたら何でそんなことないだろうと思うしかないていうよな やっぱ童貞には飛ぶように狭い
物事になったからね
戦争しかけてくる輩やぞ。 画質悪すぎてジェイクと会えるんでしょ?
カンパネルラてどうなるかな
逆に相当な暴言吐いてたんだろうかこの人の所属女子2人もちょっとオフアイスの画像が減る 登録しましたとか
合同結婚式、芸能だの嫌がらせと思われんだよな 開発に関わってるような投球やから
大勢がヒ魔神してるもんじゃねーの? ■ このスレッドは過去ログ倉庫に格納されています