Giter VIP home page Giter VIP logo

Comments (1)

konelav avatar konelav commented on July 18, 2024

Нет, к сожалению сейчас такой возможности нет.
В общем случае задача "красивого" отображения графов на плоскости шибко нетривиальна, и, упрощённо выражаясь, вовсе нерешаема (есть масса более или менее субъективно приемлемых алгоритмов, ни один из которых не идеален). Не вижу смысла в эту сторону даже начинать копать.
Альтернативно можно было бы рассмотреть варианты "полумер":

  • ручное редактирование "длин переходов" между конкретными комнатами (сейчас понятие "длины перехода" жёстко привязано к команде (север, восток, ...)); трудоёмкость реализации невелика, но пользоваться этим по-моему будет муторно, разве только в каких-то совсем простых случаях;
  • придумать какие-то правила, по которым "растягивание" переходов происходило бы автоматически в наиболее распространённых ситуациях и давало бы ожидаемый и понятный результат; лично я затрудняюсь сходу сформулировать их.

Оставим за скобками всякие лабиринты, трёхмерные бутылки Клейна и прочие изыски; вот простейший рядовой умозрительный пример: домик 3х3 клетки посреди поля, в абсолютном большинстве случаев это будет что-то такое:

     .   .   .
     |   |   |
...--O---O---O--...
     |       |
     | O-O-O |
     | | | | |
...--O O-O-O O--...
     | | | | |
     | O-O-O |
     |   |   |
...--O---O---O--...
     |   |   |
     .   .   .

Теперь вопросы:

  • если отойти от дома подальше в поле, клетки поля должны оставаться друг от друга на столь же большом расстоянии? Видимо, нет, иначе бы все клетки поля должны были бы растягиваться до размеров максимально большого "домика" на этом поле, при этом "маленькие домики" смотрелись бы странно внутри большой пустой клетки. Можно попробовать изобразить рядом с домиком 3х3 по соседству 1х1. А если поле должно автоматически сужаться-расширяться в зависимости от удаления-приближения к какому-либо "домику", то это будет выглядеть плохо, на мой вкус, я пробовал: глазу трудно воспринимать постоянное перемасштабирование карты, к тому же происходящее дискретно, а не непрерывно, трудно сопоставлять комнаты друг с другом;
  • а что если домик какой-то более "сложный", скажем, башня с балконами или большим подвалом?
  • а если отказаться от идеи изображать дом одновременно с полем (только обозначать вход в дом), то будет ли это удобно -- стоять у входной двери и не видеть на карте того, что за ней?

from jmc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.