Обратите внимание: Пока щедрость больше недоступна, я все еще заинтересован в том, чтобы кто-либо отвечал на этот вопрос, чтобы внести свой вклад; Я все еще смотрю это, и я жду, чтобы найти лучший ответ. Спасибо, пожалуйста, прочитайте...
Я ищу способ конвертировать произвольный набор RCC-подобные пространственные отношения (или подобные), описывающие сеть ограничений в Venn -диграммные изображения. Например, сеть ограничений, выраженная в RCC8:
W {EC} Y
, X {TPP} Y
, Z {NTPP} Y
, Z {PO} X
.
.. может быть представлена следующей диаграммой с круговой или квадратной областями:
.. альтернативно:
Кто-нибудь знает о программном обеспечении, которое может по меньшей мере генерировать такие диаграммы программным путем (через API) из спецификации ограничений, подобных RCC?
Я знаю, что такая сеть ограничений может быть указана ниже, исключая совпадение с какой-либо одной такой диаграммой (многие решения могут существовать). В идеале я хотел бы иметь дело с этим, имея возможность генерировать возможные альтернативы, но не могу прибегать к никому (и появлению ошибки) на данный момент.
Чтобы быть ясным, в этом вопросе я специально прошу программное обеспечение, которое может рассчитать диаграмму макета на основе ограничений, подобных RCC, в декларативном образе. Мне не нужны инструменты для превращения DSL для RCC в какой-то другой синтаксис, и я не заинтересован в конкретных форматах или методах сериализации изображений. Я надеюсь найти алгоритм для этого, чтобы иметь дело с произвольным числом ограничений для шести уникальных наборов.
Примечания: Graphviz (как @vickirk, упомянутый ниже) является примером диаграмма макет программного обеспечения, что сродни тому, что мне нужно. К сожалению, похоже, что Graphviz сам по себе не может справиться с этой проблемой (но я был бы очень рад оказаться ошибочным!). Кажется, это очень трудная проблема.