Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Описать направления. (http://www.flasher.ru/forum/showthread.php?t=189834)

wvxvw 17.12.2012 19:10

Описать направления.
 
Вот, нужно мне создать энумератор, в котором нужно описать несколько возможных нарпавлений, а именно:
1 вертикально
2 горизонтально
3 слева внизу врпаво вверх (или в обратную сторону)
4 слева вверху вправо вниз (или в обратную сторону)
5 посередине между 1 и 3
6 посередине между 3 и 2
7 посередине между 2 и 4
8 посередине между 1 и 4

Что можно: синонимы (но хочется по-меньше), символы (типа -, |, \, /,), естесственно цифры и буквы английского алфавита.
Мои варианты (пока что):
- стороны света (по синониму на каждое направление)
- числа (в градусах, но есть неоднозначность, до скольки градусов считать, можно ли отрицательные значения и т.п.)
- значки -|/\ (но не хватает 4 промежуточных фаз, их можно составить из комбинаций уже существующих...)
- часы с циферблата аналоговых часов (опять же, по два раза всего)

Ваши варианты? :)

Hauts 17.12.2012 19:22

Направления можно показать линиями между клетками в таблице 3х3, если я правильно понял.

Соответственно номера клеток и образуют направление. Первое число — старт, второе — конец.

Цитата:

1 2 3
4 5 6
7 8 9
Вертикально 8-2
Горизонтально 4-6
Слева снизу вправа вверх 7-3

И т.п.

Надеюсь правильно понял задачу :)

Psycho Tiger 17.12.2012 19:26

Вот ты их и описал, когда задачу ставил :)
Собственно, в чем приоритет? В читаемости этого направления? Для кого – для тебя или для конечного пользователя?

Я бы делал с числами циферблата. Два раза разруливал бы минутами - типа, 9:00 или 9.5 – имо часы лучше всего в голове проецируются.

Добавлено через 1 минуту
@Hauts, проблема будет в неоднозначности. 1-5, 5-9, 1-9, 2-6, 4-8 - это всё одно и то же направление.

GBee 17.12.2012 20:28

а что значит:
Цитата:

5 посередине между 1 и 3
6 посередине между 3 и 2
7 посередине между 2 и 4
8 посередине между 1 и 4
?

terbooter 17.12.2012 20:34

http://kv.wikipedia.org/wiki/%D0%A4%...se16_white.PNG
Я бы использовал стороны света:
N
NNE
NE
NEE
E

GBee 17.12.2012 20:35

А кажется понял
это типа от середины и в промежуток между
Можно как эмн:
1 середина
2 вертикально
4 горизонтально
8 слева внизу врпаво вверх (или в обратную сторону)
16 слева вверху вправо вниз (или в обратную сторону)

А дальше уже суммы.

посередине(1) между 1(2) и 3(8) = 1+2+8 = 11
и тд

wvxvw 17.12.2012 20:37

Hatus: эти цифры не описывают все направления (только половину), кроме того, получаем синонимы: 8-2 и 2-8. Кроме того, человек должен мысленно нарисовать себе клавиатуру калькулятора / телефона, чтобы это представить. Кроме того, в таком раскладе нужно начинать считать с 1 а не с 0... Не айс, вобщем :)

Psycho-Tiger: пока что так и сделал, через аналоговые часы, но фишка в том, что не красиво: 12, 1, 1:30, 2, 3, 4, 4:30, 5... и т.д. Ну, как бы и промежутки на самом деле не равные, и дробные числа... Плюсь, опять же, синонимы.

GBee: в морской терминологии, Nord-Nord-Ost (Северо-северо-восток). Это мне как бы больше всего импонировало, но неприятно то, что Юг и Север значили бы одно и то же.

GBee 17.12.2012 20:38

Цитата:

GBee: в морской терминологии, Nord-Nord-Ost (Северо-северо-восток). Это мне как бы больше всего импонировало, но неприятно то, что Юг и Север значили бы одно и то же.
Это не я - это terbooter

terbooter 17.12.2012 20:45

wvxvw, так если это энумератор, то делать от Севера включительно до юга исключительно [N,S)
То есть юга просто не будет в списке

udaaff 17.12.2012 20:57

Цитата:

Вот, нужно мне создать энумератор, в котором нужно описать несколько возможных нарпавлений
Если необходимо описывать именно направления, то я за вариант terbooter'a, а если всё-таки положения, как горизонталь, вертикаль. Я бы просто для каждого придумал своё название: H, V, D1, D2 и т.п. Или тупо пронумеровал от 1 до 8 и успокоился :)


Часовой пояс GMT +4, время: 21:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.