сабж:
есть сфера, которую нужно представить конечным числом клеток.
из клетки можно ходить на с,ю,в,з, с-з,с-в,ю-з,ю-в. – итого 8 направлений.
как это сделать?
наверное, непонятно.
есть земной шар. предположим, что квадратный километр это клетка. как представить земной шар множеством клеток?
С++.
29 марта 2010 в 0:00
тупо склеенная сама с собой плоскость?
ну, может и так…
кстати, идея.
28 марта 2010 в 23:05
Так зачем морочить голову с шаром? Пусть это будет не сфера, а тор. В реализации – как будто при выходе из карты попадаешь в такую же карту, приставленную к предыдущей сверху/снизу/сбоку/ по диагонали.
28 марта 2010 в 23:00
Я бы сделал текущую клетку квадратной, соседние с ней – примерно квадратные, самые дальние – все равно какие, хоть вырожденные. При переходе на другую клетку менял бы разбиение на клетки так, что текущая считается квадратной, соседние – примерно такие же квадраты, остальные – все равно.
28 марта 2010 в 23:00
эм… все не про то…
представьте себе игру Rogue-like.
кто знает – замечательно.
так вот, как сделать так, чтобы игрок ходил не по плоскости, а по вымышленному шару(т.е. если пройти N клеток на север, то придешь в ту же точку – если очень грубо)
28 марта 2010 в 22:04
равенство нужно ТОЛЬКО эстетическое.
в общем, нужно, чтобы были клетки, можно было ходить по ним, и, ходя по ним, перемещаться по ПРИБЛИЗИТЕЛЬНО шару.
28 марта 2010 в 22:01
Какие требования?
а) Чтобы площадь каждой клетки была как можно ближе к 1км2?
б) Чтобы каждая клетка была почти квадратом и
в) Чтобы площади были примерно равны и обязательно было из каждой клетки ровно 8 направлений?
г) …
28 марта 2010 в 22:01
Если нашинковать сферу ортогонально по 3 измерениям, получится что большинство клеток более или менее квадратные, и кажется можно сделать так, что почти у всех будет площадь около 1км2. Но будут и совсем не квадратные клетки.
Можно сделать как на глобусе, но придется выбирать между уравниванием площади и уравниванием сторон, и 8 соседних клеток у почти-полярных точек сделать не получится.
28 марта 2010 в 22:01
Что-то мне кажется, что нельзя сделать даже примерное равенство всех клеток если необходимо, чтобы из каждой было 8 направлений.
28 марта 2010 в 22:00
ну как нащет переходов я не знаю, однако берешь точку, это будет цент. проводишь из нее 2 радиуса и между ними проводишь отрезок. затем этот отрезок поворачиваешь вокруг оси, проходящей через центр, так, чтобы цонец первого был началом второго. затем проводишь еще 2 радиуса так, чтобы когда ты соеденил их и первый отрезок, вышла равнобедренная трапеция. итак пока трапеция не выродится в треугольник