- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个程序可以检查数组数组中的坐标,并搜索附近的坐标以找到最近的 5 个具有“事件”的坐标。然而,当在网格的边缘时,在这个例子中 (0,0),我面临着同一事件被多次返回但距离不同的“距离”的问题(这个距离是曼哈顿距离)。
我认为发生这种情况是因为我设置了参数,如果它要检查的坐标在网格之外(小于 0),它的值将更改为匹配边界 (0)。
let check = (x, y, d) => {
if (x > 20) {
x = 20;
}
if (x < 0) {
x = 0;
}
if (y > 20) {
y = 20;
}
if (y < 0) {
y = 0;
}
if (Main[x][y].event) {
let info = {
x: x - (xRange/2),
y: y - (xRange/2),
event: Main[x][y].event,
distance: d,
ticket: Main[x][y].tickets[0],
}
return info;
} else {
return false;
}
}
let findEvents = (x, y) => {
let nearby = [];
let info;
// Check point x, y
if (Main[x][y].event) {
info = {
x: x - (xRange/2),
y: y - (xRange/2),
event: Main[x][y].event,
distance: 0,
tickets: Main[x][y].tickets,
}
nearby.push(info);
}
for (let d = 1; d <= 40; d++) {
for (let i = 0; i < d + 1; i++) {
info = check(x - d + i, y - i, d);
if (info) {
nearby.push(info);
}
if ((nearby.length > 5) &&
(nearby[(nearby.length-1)].distance !=
nearby[(nearby.length-2)].distance)) {
return nearby.slice(0,-1);
}
info = check(x + d - i, y + i, d);
if (info) {
nearby.push(info);
}
if ((nearby.length > 5) &&
(nearby[(nearby.length-1)].distance !=
nearby[(nearby.length-2)].distance)) {
return nearby.slice(0,-1);
}
}
for (let i = 1; i < d; i++) {
info = check(x - i, y + d - i, d);
if (info) {
nearby.push(info);
}
if ((nearby.length > 5) &&
(nearby[(nearby.length-1)].distance !=
nearby[(nearby.length-2)].distance)) {
return nearby.slice(0,-1);
}
info = check(x + d - i, y - i, d);
if (info) {
nearby.push(info);
}
if ((nearby.length > 5) &&
(nearby[(nearby.length-1)].distance !=
nearby[(nearby.length-2)].distance)) {
return nearby.slice(0,-1);
}
}
}
return nearby;
}
关于如何避免这种情况的任何提示? (或者总体上清理我的代码 :D )
最佳答案
我还不完全理解您的 find_events 方法,但似乎可以避免您描述的问题,只要点在网格外,您就应该从 check
返回 false。因此:
let check = (x, y, d) => {
if (x > 20 || x < 0 || y > 20 ||y < 0) {
return false;
}
...
关于javascript - 使用边界条件检查二维数组中的附近点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45315158/
谁能帮我解决以下方程的边界条件?我找不到图中显示的图形。它们用于不同的 u_0 ,一个有 4 个根,第二个有 2 个根。 import matplotlib.pyplot as plt import
我试图理解一段来自 paper concerning fluid simulations for games 的代码。我正在研究边界条件的解决方法。由于我不了解 C++,所以我遇到了额外的困难。 据我
我正在迭代一个 3 维数组(每个像素有 3 个值的图像),以将 3x3 过滤器应用于每个像素,如下所示: //For each value on the image for (i=0;i1) &
我的系统最好用对角稀疏矩阵 (Poisson) 来描述。我有我的对角线稀疏矩阵,但是,我想将边界条件(即矩阵的“边缘”)更改为零。建模者想要在具有不同边界条件的稀疏对角矩阵中描述系统一定是一种常见的情
如何在不限制面内通量分量的情况下,将 fipy 网格中边界面的法向通量明确设置为特定值? Neumann 边界条件可以指定为:(1) 固定的垂直于边界面的通量分量,或 (2) 作为面处通量的完整规范。
我是一名优秀的程序员,十分优秀!