Я работаю над разделением изображения на доске (646px X 646px) на разделы. Во-первых, у меня есть радианная информация для каждого фрагмента на этом изображении (0.314 Радианы (360 градусов/20 секций = 18 градусов)), точные значения x и y центра изображения мишени и теперь таблица поиска, содержащая начало и конец радиан для каждого фрагмента вместе со счетом - т.е. счет 20, начало 0, конец 0.314. Есть ли у кого-нибудь какие-либо советы о том, как приступить к обнаружению событий mouseclick/key-down в отношении того, какой раздел я выбираю? то есть, как бы совет знал, выбираю ли я 20 ломтиков?разделите изображение на равные части в javascript
boardScores = [20, 1, 18, 4, 13, 6, 10, 15, 2, 17, 3, 19, 7, 16, 8, 11, 14, 9, 12, 5];
for(var i = 0; i < boardScores.length; i++)
{
var id="SCORE: "+boardScores[i];
LOOKUP[id] = { 'START': (i*divideBoardIntoRadians).toFixed(3), 'END': ((i+1)*divideBoardIntoRadians).toFixed(3), 'VALUE': boardScores[i] };
}
for (var name in LOOKUP)
{
for (value in LOOKUP[name])
{
console.log(name+":"+value+"="+LOOKUP[name][value]);
}
}
, что вы пытались до сих пор? Я бы рекомендовал определить ссылочный вектор и использовать [dot product] (http://en.wikipedia.org/wiki/Dot_product) (см. * Геометрическое определение *) этого вектора и вектор музлик, чтобы получить угол. – doldt
Hi; Я попытался разбить плату на 4 квартала, а затем проверил значения x/y, чтобы увидеть, на какой части панели я нажал. После этого вычисляли гипотенузу и угол, используя новые позиции x и y, затем подавали их в функцию, чтобы проверить, равна ли оценка 20, проверять одиночные, двойные или тройные значения. Посмотрите на методику эталонного вектора – tba
Идея эталонного вектора - действительно элегантное решение этой проблемы. У вас уже есть все части; ваш ссылочный вектор может быть произвольной точкой на доске; Затем mouseclick дает вам точки для второго вектора. Kudos @doldt. Хотелось бы, чтобы я подумал об этом :) –