Здравствуйте, Гость
Блок с содержанием первого сообщения
Возьмем стандартный коридор в 2 гекса шириной:
   ___            ___
 /       \ ___ /        \ ___ /
 \ ___/        \ ___ /        \
 /       \ ___ /        \ ___ /
 \ __  /        \ ___ /       \
         \ ___ /        \ __  /

Действующие лица:

 :) - Сэр Фред, славный рыцарь, вооружен мечом-палашом
 O_o - Сэр Боб, тоже рыцарь, друг сэра Фреда и тоже вооружен таким же мечом)

 :)) - Аль-Башра, злостный сарацин.
 >:( - Даз-Избед, тоже злостный сарацин, друг Аль-Башри.

Сценарий:
Два славных рыцаря, Сэр Фред и Сэр Боб идут по узкому коридору и натыкаются на двух заклятых врагов! Это сарацины Аль-Башра и Даз-Избед! Начинается битва!

   ___            ___
 /       \ ___ / :))  \ ___ /           
 \ ___/  :) \ ___ /        \
 /       \ ___ / >:(  \ ___ /
 \ __  / O_o  \ ___ /       \
         \ ___ /        \ __  /
 Первые ходят рыцари!
Сэр Фред поразмыслив по кому ему ударить решил бить Аль-Башру! Атака! Но Аль-Башра ловко защитился! Сэр Боб хочет помочь своему другу и решил тоже проатаковать Аль-Башру!..... Упс! Увы! Магические шестиугольники на земле мешают ему это сделать! Он может атаковать только Даз-Избеда! Однако Сэр Фред может атаковать кого хочет! Несправедливо!

Ссылка

Автор Тема: Проблема гексагонального поля  (Прочитано 21635 раз)

Оффлайн Rassol

  • Случайный
  • Сообщений: 3
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #30 : Сентября 12, 2010, 13:59 »
приснилось походу  :nya:
Один черт, можно проскользнуть мимо противника...

Оффлайн Radamat

  • Случайный
  • Сообщений: 3
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #31 : Ноября 13, 2010, 20:19 »
Хм.. тактический бой 4 на группы (по 8-10 солдат) + боевой носорог решался на чистом листе с линейкой в руках.
При этом использовались (для носорога и быстро бегущих) правила инерционности.
Так же как в третьей гурпсе проводился космический бой.

ИМХО, действительно, бой в коридоре проще отыграть на словах / без клеток.

Оффлайн ejik_026

  • Завсегдатай
  • ***
  • Сообщений: 339
  • Хороший спамер - мертвый спамер.
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #32 : Ноября 29, 2010, 20:14 »
Вставлю своих пять копеек,
я так вообще в автокаде рисовал карты, для отыгрыша атаки на конвой, а зданиях вообще в екселе.

Обозначаешь каждого бойца окружностью с направлением взгляда, при необходимости добавляешь им сектора обзора. Вот все.
*шепотом* Можно даже тактические бои играть, брать их правила и называть по другому.

Конечно, в реале оно может и интересней с гексами мучаться. По мне это все инструмент для получения удовольствия, и если он не выполняет свои задачи, то его меняют.

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #33 : Июля 30, 2013, 20:45 »
Проблема в том, что и сэр Боб и сэр Фред стоят плечом к плечу, в узком коридоре.  Сэр Фред может быить по кому хочет, а сэр боб только по  Даз-Избеду (не ломая позицию)  Хотел показать что квадраты более удобны в этом плане   
Займусь некрофилией.

Проблема не в этом. На указанной карте сэр Боб и сэр Фред стоят не плечом к плечу в узком коридоре, а на расстоянии 1 метра от их центральной оси. Иными словами между ними есть зазор, который можно рассчитать как радиус круга сэра Боба (если вписать сэра Боба в окружность, которой он и является) + радиус сэра Фрэда (тоже жёлтый круг) - 1 ярд = расстояние между ними.
Я лишь подозреваю, что тут начинают работать правила Entering a Foe's Hex, где Foe меняется на Ally, и эти два кружочка счастливо оккупируют этот Hex вместе. Каждый свою половину. И друг для друга они находятся в "C".

В чем то согласен, листочек в клетку всегда можно найти. Проблема движения по диагонали решается тоже очень просто, первая клетка движения считается за 1 ярд, вторая за 2. Проблема тут в том, что конвертировать Гурпс под квадраты довольно сложно, т.к. в нем очень много завязано на гексах.


П.Н. Квадраты лучше гексов, у квадратов 9 степеней свободы, а у гексов 6. Да и архитектура строении в основном квадратная что еще добавляет баллов квадратам.
Давайте посмотрим, так ли это на самом деле. Делается это просто. Расчитаем расстояние, которое проходит персонаж, когда идёт по диагонале в реальности и сравним с тем, что получится при использовании системы предложенной Вами.
Будет считать, что начало движения сэра Боба будет (0,5;0,5). Он проходит максимально возможное для него расстояние, к примеру, l = 6.
По системе "1,2" получаем, что он пройдёт и окажется на точке (4,5;4,5), при условии, что он поднимался вверх вправо.
Теперь расчитаем реальное расстояние, которое он прошёл. Найдём дельту (изменение) длинны оно равно на как на х, так и на y 4 ( = 4,5 - 0.5), затем длинну V = sqrt(4^2 + 4^2) = 5,6568542494923801952067548968388 ярда или примерно 5,6569. Что примерно меньше 6 на 6%.
Сравнивать с шестигранниками бесполезно, так как они в этом плане удобнее. Их диагонали будут равны за счёт их свойств.


И ещё добавил:

Что за ерунда?


Проблем с движением по диагонали в квадратах нету - ее решение описано парочкой постов выше.
Гексирование квадратных помещений - это же морока, "три и более угла" бла-бла-бла... зачем, когда можно просто вырвать листик в клеточку?
Никогда гексы не были удобнее квадратов - возьмите даже HoMM 3 vs. HoMM 5
Возьмите Fallout, Fallout 2, Fallout: Tactics,
Почему hex удобнее.
Как говорили уже 90° взяты даже не с потолка на самом то деле. Хотя возможно и с потолка, но вообще это очень хорошая рекомендация, так как из-за перечисленных свойств выше получается, что рисовать изометрическую игру будет лучше с шестиугольниками, так как механизм ходьбы будет реализован в полной мере, а не полумерами.
Также отмечу, что клетки в расово верных играх как Newerwinter Nights, а также во второй её части не используются.


Изменил в посте: (0;0) на (0,5;0,5) так как персонаж находится в клетке, а не на её нижнем левом углу. А поэтому изменил все расчёты. Простите, что обманул. Нет никакого прироста на 6%, а наоборот, движение происходит медленнее на 6%.
« Последнее редактирование: Июля 31, 2013, 17:25 от бред »

Оффлайн aaa13

  • UR-D&D
  • Частый гость
  • *
  • Сообщений: 65
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #34 : Августа 01, 2013, 20:30 »
Сравнивать с шестигранниками бесполезно, так как они в этом плане удобнее. Их диагонали будут равны за счёт их свойств.
Почему же бесполезно? Еще как полезно. Да, гексы дают точный результат для 6 направлений, а квадраты - только для четырех. Но движение по диагонали(под углом в 45 градусов к сетке) неточно вычисляется в квадратах и в гексах. В гексах соответствующее движение (два гекса горизонтально и 4 косых) даст 2*sqrt(7) что меньше чем 6 на целых 12%.

В целом, если посмотреть на круг радиусом 6 клеток в квадратной 1-2 решетке, то он больше похож на круг, чем его брат из гексогональной системы, который вообще шестиугольник. То есть правило 1-2 хоть и несколько усложняет расчеты, но заметно повышает точность измерения расстояний.

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #35 : Августа 01, 2013, 21:01 »
Что за ерунда?

Проблем с движением по диагонали в квадратах нету - ее решение описано парочкой постов выше.
Гексирование квадратных помещений - это же морока, "три и более угла" бла-бла-бла... зачем, когда можно просто вырвать листик в клеточку?
Никогда гексы не были удобнее квадратов - возьмите даже HoMM 3 vs. HoMM 5.
Почему же бесполезно? Еще как полезно. Да, гексы дают точный результат для 6 направлений, а квадраты - только для четырех. Но движение по диагонали(под углом в 45 градусов к сетке) неточно вычисляется в квадратах и в гексах. В гексах соответствующее движение (два гекса горизонтально и 4 косых) даст 2*sqrt(7) что меньше чем 6 на целых 12%.

В целом, если посмотреть на круг радиусом 6 клеток в квадратной 1-2 решетке, то он больше похож на круг, чем его брат из гексогональной системы, который вообще шестиугольник. То есть правило 1-2 хоть и несколько усложняет расчеты, но заметно повышает точность измерения расстояний.
Отметил важный момент в посте No Good. Суть в том, что разговор шёл о перемещении по диагонали клеток, а не в направлении 45°.
Но раз уж зашёл об этом разговор, тогда расскажите, пожалуйста, о реализации движения на 60° в квадратах. Было бы любопытно узнать об этом. Ради справедливости.
« Последнее редактирование: Августа 01, 2013, 21:23 от бред »

Оффлайн aaa13

  • UR-D&D
  • Частый гость
  • *
  • Сообщений: 65
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #36 : Августа 02, 2013, 01:13 »
Отметил важный момент в посте No Good. Суть в том, что разговор шёл о перемещении по диагонали клеток, а не в направлении 45°.
Не вопрос. Пытаемся идти вдоль диагоналей гексов. поучается такая змейка v^v^v^v. Ошибка, как легко видеть, 1- cos(30) = 13.4%

Но раз уж зашёл об этом разговор, тогда расскажите, пожалуйста, о реализации движения на 60° в квадратах. Было бы любопытно узнать об этом. Ради справедливости.
Легко. идем один шаг по горизонтали, один по диагонали. Ошибка =10.5%

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #37 : Августа 02, 2013, 01:23 »
В целом, если посмотреть на круг радиусом 6 клеток в квадратной 1-2 решетке, то он больше похож на круг, чем его брат из гексогональной системы, который вообще шестиугольник. То есть правило 1-2 хоть и несколько усложняет расчеты, но заметно повышает точность измерения расстояний.
Хотел поговорить отдельно по этому пункту. Да, надо отметить, что количество квадратов записывается в окружность больше, чем количество шестиугольников. Давайте посмотрим на это.
Давайте возьмём обычную единичную окружность, в которую мы вписываем все фигуры, чтобы было честно по отношению к каждой. Честно признаюсь, построил в иллюстраторе, так как было лень назначать точки и т.п. Сначала я сделал радиус из 6,5 хексов (один в середине и 6 идут влево) построил окружность в центре 1-ого из этих 7 хексов, краем стали две точки последнего 7-ого. В итоге с незначительными пересечениями (в GURPS можно в принципе половину хекса использовать, но я не стал, чтобы не усложнять вычисления).
Итого: 160 хексов ровно вписалось в круг. См. картинку ниже в спойлерах.

В той же самой окружносте в её центре я построил 1-ую окружность, в которую вписал квадрат и построил множество квадратов. Не знаю насколько несправедливо я отсёк квадраты в целом, но в итоге получается на голову больше, чем у хексов.
Итого: 197 квадратов.

Это на 23% клеток в этом круге больше. Значит точность выше по идее. затем я расчитал площадь покрытия. То есть площадь всех квадратов и хексов, которую они покрывают целиком (я не учитывал срезы, честно поэтому все цифры очень примерные).
Площадь квадратов равна 2R^2 = 2*1^2 cm = 2 cm^2 * 197 = 394 сm^2;
Площадь хексов равна (тут будет посложнее) ((3*sqrt(3))/2)*R^2 cm = ((3*sqrt(3))/2)*1^2 cm =  ((3*sqrt(3))/2) * 160 = 415.
Таким образом видно, что квадратов больше, но вот площадь их покрытия меньше. Если Вас не устроили мои рисунки в какой-то мере. Я могу изменить расчёты, посмотрим что из этого выйдет.

простите, изображения очень большие приготовьтесь
[свернуть]

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #38 : Августа 02, 2013, 01:33 »
Легко. идем один шаг по горизонтали, один по диагонали. Ошибка =10.5%
То есть там будет 60°? Возможно я где-то ошибся?
Спойлер
[свернуть]

Оффлайн Nutzen

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 836
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #39 : Августа 02, 2013, 01:46 »
А площадь гекса и площадь квадрата равны?
И будут ли иметь значие вертикальных или горизонтальный гекс?

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #40 : Августа 02, 2013, 01:49 »
Не вопрос. Пытаемся идти вдоль диагоналей гексов. поучается такая змейка v^v^v^v. Ошибка, как легко видеть, 1- cos(30) = 13.4%
Легко. идем один шаг по горизонтали, один по диагонали. Ошибка =10.5%
А не ровно ли 25%, что крайне облегчает подсчёты?
Спойлер
[свернуть]

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #41 : Августа 02, 2013, 01:51 »
А площадь гекса и площадь квадрата равны?
И будут ли иметь значие вертикальных или горизонтальный гекс?
Выше я написал, что равны окружности, в которые вписаны квадрат и хекс. Это единичная окружность, чтобы легче было считать. То есть в круг радиусом 1 см вписывает квадрат (он занимает площадь равную 2 см^2), хекс вписываем в круг равный 1 см (он занимает площадь равную (3*sqrt(3))/2 cм^2).
Значения не имеет. Просто поверните картинку и всё. :3
« Последнее редактирование: Августа 02, 2013, 01:58 от бред »

Оффлайн aaa13

  • UR-D&D
  • Частый гость
  • *
  • Сообщений: 65
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #42 : Августа 02, 2013, 02:03 »
То есть там будет 60°? Возможно я где-то ошибся?
Спойлер
[свернуть]
Все верно. Просто я на другой угол смотрю. Как на часах. он 90 - 26.57 = 63.43. Если хочется ровно под 60 идти, там будет гораздо сложнее алгоритм.
А не ровно ли 25%, что крайне облегчает подсчёты?
Спойлер
[свернуть]
Нет. Если мы хотим чтобы движение по 6 направлениям было точным, единицей расстояния следует положить расстояние между центрами соседних гексов.


Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #43 : Августа 02, 2013, 02:34 »
Все верно. Просто я на другой угол смотрю. Как на часах. он 90 - 26.57 = 63.43. Если хочется ровно под 60 идти, там будет гораздо сложнее алгоритм.

Получается, что для того, чтобы дойти на примерно 60° тратится 3 шага, а пройденное расстояние равно 2,4922 (а не как у 6-гранниокв). Правильно понимаю?
Иными словами погрешность больше, чем 6%?
Нет. Если мы хотим чтобы движение по 6 направлениям было точным, единицей расстояния следует положить расстояние между центрами соседних гексов.
Так там же и получается. Что мы используем ровно 7 клеток. Выходим из центра одной, в центр другой. К примеру, выходим из (0;0) радиусом в 0,5 (единичная окружность), минуем первый (сверху справа, либо снизу справа), очевидно, что центр второго будет равен x (y тут будет 0, тоже очевидно, точка старта и конца на одной линии), x = 3*R или 3*0,5, что даёт нам координаты центра 3-его гекса (1,5;0). Таким же образом можно легко подсчитать координаты центра 7-ого (мы считаем стартовый за 0, и считаем 1, 2, 3, ..., 6), что будет равно x=9R=9*0,5=4,5 (почму 9? точка старта (0;0) реальных проходим 0,5 растояния, на третьей точке мы прошли 3 радиуса из-за второго хекса, к 4 хексу мы проходим уже 6 радиусов реального расстояния и т.д.). Получается, что персонаж прошёл 6 клеток, а реального расстояния пройдено ровно на 25% меньше в координате (4,5;0).
Где ошибка?

Кстати, подсчёты площадей у меня были неверные, только сейчас понял почему. Завтра уже пересчитаю. В итоге гексов получится больше на той же карте из-за разницы правил. Спокойной ночи до завтра. Напишу почему получится больше в итоге.

Оффлайн aaa13

  • UR-D&D
  • Частый гость
  • *
  • Сообщений: 65
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #44 : Августа 02, 2013, 03:20 »
Еще раз, медленно. Соседними гексами назовем гексы имеющие общую сторону. Размер гекса выберем так, чтобы растояние между центрами соседних гексов было равно 1. Тогда радиус описанной вокруг гекса окружности 1/Sqrt(3) = 0.58; сторона гекса тоже 0.58. 

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #45 : Августа 02, 2013, 14:48 »
Еще раз, медленно. Соседними гексами назовем гексы имеющие общую сторону. Размер гекса выберем так, чтобы растояние между центрами соседних гексов было равно 1. Тогда радиус описанной вокруг гекса окружности 1/Sqrt(3) = 0.58; сторона гекса тоже 0.58.
К сожалению, сегодня у меня очень много работы, поэтому ответить полным образом смогу только вечером настоящего дня.
Но скажу, что мы с Вами совершили одну и ту же ошибку в расчётах (ну не совсем идентичную, просто она по типу схожа). Расскажу позже. Удачного дня.

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #46 : Августа 03, 2013, 02:23 »
Итак, сразу и много, так как искал и обрабатывал много информации.
  • В целом, если посмотреть на круг радиусом 6 клеток в квадратной 1-2 решетке, то он больше похож на круг, чем его брат из гексогональной системы, который вообще шестиугольник. То есть правило 1-2 хоть и несколько усложняет расчеты, но заметно повышает точность измерения расстояний.
    Можно взять произвольную поверхность. Самым плотным способом заполнения данного пространства будут круги, которые окружены шестью другими кругами (те самые окружности, из которых мы потом строим либо квадраты, либо гексы), центры которых образуют вершины правильного шестиугольника. В вики написано, что это было сделано ещё в 1940 году.
    Выводы на этот счёт можно сделать очевидные.
  • Еще раз, медленно. Соседними гексами назовем гексы имеющие общую сторону. Размер гекса выберем так, чтобы расстояние между центрами соседних гексов было равно 1. Тогда радиус описанной вокруг гекса окружности 1/Sqrt(3) = 0.58; сторона гекса тоже 0.58. 
    Не вопрос. Пытаемся идти вдоль диагоналей гексов. поучается такая змейка v^v^v^v. Ошибка, как легко видеть, 1- cos(30) = 13.4%
    Понял где тут ошибка. Вы считаете, что он проходит 3 movement point'a за 3 ярда хотя тратится всего 2 movement points'a. Иными словами стартовый гекс считается как 1, а он 0 при движении. То есть герой проходит к третьему гексу 2 ярда по системе на 3,46 ярда на плоскости. Это при условии, что мы отталкиваемся, что гекс строится через окружность вписанную в него.
    Но если бы стояние на хексе считалось бы движением, то да. 3 за примерно 3,46.
    Это если говорить об ошибке.
Пообщался с народом в irc.sorcerynet.com #gurps, выяснил, что многие понимают правило построения гексов как 1 ярд от вершины шестиугольника до другой вершины шестиугольника. Думал, что и тут ошибка у Вас, но потом попал на хорошее письмо, правда не уверен в его авторитетности:
Спойлер
[свернуть]
Источник письма
А это значит, что я изначально неправильно делал эту карту. Но суть от этого не меняется, так как гексы будуту стоять плотнее.
для наглядности
[свернуть]
Я нашёл ещё одно мелкое упущение в наших рассуждениях. В большинстве своём для игры в D&D используются клетки 5 на 5 футов, в то время как гекс занимает 1 ярд, равный 3 футам. Из сказанного можно сделать простейший вывод, что боевая карта GURPS будет разительно точнее.
Почему мелкое, так потому что, мы говорили о том, чтобы адаптировать квадраты под нужды GURPS, а значит размер мы можем выбирать.

В итоге: квадратов больше на случайно заданной площади, но они покрывают меньше площади, а также имеют большую разряженность в сравнении с гексами.

P.S. но ведь часто встречаются именно квадратные строения? Я исхожу из логики, что система GURPS универсальная, и имеет правила для всего максимально универсальные. А значит и площади для игры будут заданы случайным образом, а не прямоугольные строения с размерами из целых чисел (к примеру, the Lair of Fat man (батискафы)).
« Последнее редактирование: Августа 03, 2013, 16:57 от бред »

Оффлайн бред

  • Illuminated Order of GURPS
  • Завсегдатай
  • *
  • Сообщений: 747
  • GURPS
    • Просмотр профиля
Re: Проблема гексагонального поля
« Ответ #47 : Августа 04, 2013, 01:30 »
Лично сам для себя пришёл к выводу.
  • Квадраты проще достать (листок бумаги в клетку);
  • На нём проще строить помещения (просто по линии клетки проводишь карандашом);
В свою очередь гекс куда более "плотнее" сидят.
Получается, что они куда более практичны и "привычны" для российских игроков (как выяснилось позже).
Также я схематично набросил наложения на одну и ту же "реальность" двух разных карт из D&D и GURPS. Могу также для наглядности чуть позже докинуть туда разных объектов.
Был взят квадрат 5 ft. на 5 tf., а также гекс со вписанной в него окружностью 3 ft. = 1 yard.
Это мало относится к замене хексов на квадраты, но всё же.
Спойлер
[свернуть]
Когда фигурки будут стоять на столе, то в большинстве разница кроме "плотности" заметна не будет (так как гексы и квадраты будут адаптированы под 1 inch фигуры). Как только мы будем реализовывать реальную поверхность через разные системы, то разница становится ощутимой см. рис. выше.
Также я нашёл ещё одну любопытную вещь, которая некоторым образом поменяло моё представление о пространстве через гексы, когда я вспомнил и начал обдумывать о применении правила Entering a Foe’s Hex. То есть рассуждая, что Вы занимаете любую половину гекса, то можно попробовать предположить, что всё-таки движение по прямой линии наверх/вниз существует исходя из данной таблицы.
Спойлер
[свернуть]
Все как один говорят о том, что вообще не используют гексы (я не исключение). Либо большинство боёв обыгрывается устно, так как это происходит быстро, либо всё расставляется на столе. В последнем варианте при расчётах связанных с гексами из правил Тактического Боя используется допущение, в котором каждый персонаж создаёт свою воображаемую карту, где он стоит на её центре. А пользуются для реализации выше сказанного Range Ruler.

Что же лично для меня, то никакого труда не составит как использовать, так и не использовать различной конфигурации и сложности Battle Grid'ы.