Определение, проходит ли линия из одной вершины в другую полностью внутри многоугольника

Я нашел все ответы, чтобы использовать слишком много кода. Вот простой способ сделать это:

function to_xml(SimpleXMLElement $object, array $data)
{   
    foreach ($data as $key => $value) {
        if (is_array($value)) {
            $new_object = $object->addChild($key);
            to_xml($new_object, $value);
        } else {
            // if the key is an integer, it needs text with it to actually work.
            if ($key == (int) $key) {
                $key = "key_$key";
            }

            $object->addChild($key, $value);
        }   
    }   
}   

Тогда просто передать массив в функцию, которая использует рекурсию, поэтому она будет обрабатывать многомерный массив:

$xml = new SimpleXMLElement('<rootTag/>');
to_xml($xml, $my_array);

Теперь $ xml содержит красивый XML-объект, основанный на вашем массиве, точно так, как вы его написали.

print $xml->asXML();
0
задан Thomas 18 January 2019 в 08:37
поделиться

1 ответ

В случае, когда диагональ не пересекает ребра, дополнительно проверьте, находится ли середина этой диагонали внутри многоугольника
(например, используя известный метод пересечения ребер )

0
ответ дан MBo 18 January 2019 в 08:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: