Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2012, 21:09
Интересующийся
Отправить личное сообщение для Sektoid Посмотреть профиль Найти все сообщения от Sektoid
 
Регистрация: 02.08.2012
Сообщений: 12

Гипотенуза равност. прям. треуг. в двумерном массиве
Я делаю игру. Игровое поле состоит из тайлов - двумерного массива 100х100. Допустим map[0][0] - это начало координат в декартовой системе координат.
Радиус видимости игрока 10 тайлов.
Точка А = map[10][0], точка Б = map[0][10].
Теперь если соединить эти точки между собой и с центром координат, то получится равносторонний прямоугольный треугольник.
Вопрос: как получить список тайлов, по которым проходит гипотенуза этого треугольника?
Просто при перемещении игроку при каждом шаге должен грузиться массив тайлов, которые пересекает гипотенуза. Игрок будет центром координат, но это я уже сам допилю.
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2012, 22:35
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Sektoid,
Сообщение от Sektoid
Теперь если соединить эти точки между собой и с центром координат, то получится равносторонний прямоугольный треугольник
игра на шаре что ли?
Сообщение от Sektoid
точки между собой и с центром координат
центр это map[50][50]? Думаю да чем же еще быть?
Сообщение от Sektoid
Точка А = map[10][0], точка Б = map[0][10].
Теперь если соединить эти точки между собой и с центром координат, то получится равносторонний прямоугольный треугольник
если это карта 100х100, то не будет не равностороннего, не прямоугольного треугольника
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2012, 22:51
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Как уж там дальше будете делать неизвестно, но по описанному случаю можно так
var d = 10; 
var mas = [];
var str = '';
for (var i = 0; i <= d; i++) {
	str = '(' + i + ', ' + (d - i) + ')';
	mas.push(str);
}
alert(mas);
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2012, 22:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

bes,
В равнобедренном прямоугольном треугольнике - сумма высоты и ширины с одной точки гипотенузы равна катету
Т.е X+Y=b

Последний раз редактировалось Deff, 03.08.2012 в 00:02.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2012, 23:28
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Deff
В равнобедренном прямоугольном треугольнике - сумма высоты и ширины с одной точки гипотенузы равна катету
А в произвольном прямоугольном - полусумме катетов
Т.е X+Y=b
Deff, эти соотношения напомнили о давно забытом
Что есть ширина (может быть проекция катета на гипотенузу) и высота с одной точки гипотенузы, и как бы я это использовал для вывода значений по диагонали?
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2012, 23:37
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

bes, ну зная X -узнал У
x = b-y
y= b-x (b - любой из катетов
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2012, 23:46
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Deff
bes, ну зная X -узнал У
x = b-y
y= b-x (b - любой из катетов
Да, но что есть x и y?
Если x - это проекция на гипотенузу, а y - высота (перпендикуляр на гипотенузу), то это не проходит (сумма 2 катетов всегда больше гипотенузы).
Ответить с цитированием
  #8 (permalink)  
Старый 03.08.2012, 00:03
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от bes
сумма 2 катетов всегда больше гипотенузы).
вот твой массив - сложи две цифры
(0, 10),(1, 9),(2, 8),(3, 7),(4, 6),(5, 5),(6, 4),(7, 3),(8, 2),(9, 1),(10, 0)
Ответить с цитированием
  #9 (permalink)  
Старый 03.08.2012, 00:21
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Deff
вот твой массив - сложи две цифры
(0, 10),(1, 9),(2, 8),(3, 7),(4, 6),(5, 5),(6, 4),(7, 3),(8, 2),(9, 1),(10, 0)
ха-ха, с той фразы до этого было трудно догадаться, я уж начал теоремы вспоминать
Ответить с цитированием
  #10 (permalink)  
Старый 03.08.2012, 00:23
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от bes
ха-ха, с той фразы
Седни день такой - см топик => как получить substr в обратную сторону ?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти индекс по элементу в двумерном массиве? bayah Общие вопросы Javascript 5 22.04.2010 16:26
Поиск в двумерном массиве Vamp Общие вопросы Javascript 2 16.07.2009 13:05