singlepost

Дискретные клетки из сферы, вкусные лобстеры << На главную или назад  

сабж:
есть сфера, которую нужно представить конечным числом клеток.
из клетки можно ходить на с,ю,в,з, с-з,с-в,ю-з,ю-в. – итого 8 направлений.
как это сделать?

наверное, непонятно.
есть земной шар. предположим, что квадратный километр это клетка. как представить земной шар множеством клеток?

С++.

9 ответов в теме “Дискретные клетки из сферы, вкусные лобстеры”

  1. 9
    Александр Лищенер ответил:

    тупо склеенная сама с собой плоскость?

    ну, может и так…

    кстати, идея.

  2. 8
    Тимур Магомедов ответил:

    Так зачем морочить голову с шаром? Пусть это будет не сфера, а тор. В реализации – как будто при выходе из карты попадаешь в такую же карту, приставленную к предыдущей сверху/снизу/сбоку/ по диагонали.

  3. 7
    Тимур Магомедов ответил:

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

  4. 6
    Александр Лищенер ответил:

    эм… все не про то…
    представьте себе игру Rogue-like.
    кто знает – замечательно.
    так вот, как сделать так, чтобы игрок ходил не по плоскости, а по вымышленному шару(т.е. если пройти N клеток на север, то придешь в ту же точку – если очень грубо)

  5. 5
    Александр Лищенер ответил:

    равенство нужно ТОЛЬКО эстетическое.
    в общем, нужно, чтобы были клетки, можно было ходить по ним, и, ходя по ним, перемещаться по ПРИБЛИЗИТЕЛЬНО шару.

  6. 4
    Жека Кирпичев ответил:

    Какие требования?
    а) Чтобы площадь каждой клетки была как можно ближе к 1км2?
    б) Чтобы каждая клетка была почти квадратом и
    в) Чтобы площади были примерно равны и обязательно было из каждой клетки ровно 8 направлений?
    г) …

  7. 3
    Жека Кирпичев ответил:

    Если нашинковать сферу ортогонально по 3 измерениям, получится что большинство клеток более или менее квадратные, и кажется можно сделать так, что почти у всех будет площадь около 1км2. Но будут и совсем не квадратные клетки.

    Можно сделать как на глобусе, но придется выбирать между уравниванием площади и уравниванием сторон, и 8 соседних клеток у почти-полярных точек сделать не получится.

  8. 2
    Тимур Магомедов ответил:

    Что-то мне кажется, что нельзя сделать даже примерное равенство всех клеток если необходимо, чтобы из каждой было 8 направлений.

  9. 1
    Алексей Рвачев ответил:

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

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.