CGAL 4.7 Расположение кривых Безье дает сбой на некоторых входных данных

Я использую пакет Arrangements CGAL 4.7 (64-разрядная версия для Windows) для создания двухмерных аранжировок кривых Безье для исследовательского проекта. К сожалению, я продолжаю испытывать сбои на некоторых (почти) вырожденных входных данных при вставке кривых Безье.

В качестве простого примера я добавил содержимое двух файлов данных, которые может прочитать пример проекта Bezier_curve, поставляемый с CGAL 4.7 (находится в .../CGAL-4.7/examples/Arrangement_on_surface_2).
У меня этот пример аварийно завершает работу. если я передам ему любой из двух файлов.
Пример работает правильно для меня, если я использую прилагаемый к нему файл Bezier.dat, а также в некоторых других тестах, которые я пробовал.

Bezier_crash1.dat — (очень простой тест)

1
4 0 100 100 0 100 200 0 100

Bezier_crash2.dat — (обнаруженный и записанный в ходе моих собственных экспериментов)

6
4  2581853/262144 174874249452033/4398046511104  5673646619833933/35184372088832 2756888783932123/70368744177664  6296137/131072 15962699/131072  105/2 5687589/65536
4  105/2 5687589/65536  7466423/131072 6787657/131072  4884829/32768 1213073/16384  120 13200823/131072
4  120 13200823/131072  13772385/131072 14995659/131072  8262217/131072 13388069/131072  105/2 5687589/65536
4  105/2 5687589/65536  5500343/131072 9362287/131072  5544234768323137/35184372088832 5711427009345511/140737488355328  2581853/262144 183625004300137/2199023255552
4  696761914568827/4398046511104 3007857/16384  1156274078886441/17592186044416 301767055302015/8796093022208  4173567/65536 1173535/8192  97589/1024 428833/4096
4  97589/1024 428833/4096  8317825/65536 541797/8192  10142101/131072 1505657/16384  9752923/131072 1168223/16384

Я не знаю, должен ли я (и мне разрешено) публиковать код примера CGAL, пожалуйста, дайте мне знать, если это необходимо. У меня также больше аварийных тестов, чем только эти два, но я надеюсь, что эти сбои связаны с моей личной настройкой CGAL, а остальные будут волшебным образом решены, когда я это исправлю :)


person Tim de Jong    schedule 19.01.2016    source источник
comment
Вы должны отправить проблему с минимальным примером, показывающим проблему.   -  person sloriot    schedule 20.01.2016
comment
Спасибо за ответ, я создал проблему на github.com/CGAL/cgal/issues/ 669 для кривых в Bezier_crash2.dat (не уверен, что нужно добавить другой файл, так как это может быть или не быть другой проблемой)   -  person Tim de Jong    schedule 22.01.2016
comment
Спасибо, надеюсь, кто-то скоро посмотрит.   -  person sloriot    schedule 22.01.2016


Ответы (1)


Мы исправили ошибку, которая, скорее всего, вызывает эту проблему. Это было в компоненте CGAL, который обрабатывает кривые Безье, а именно, Arr_Bezier_curve_traits_2.h.

person Efi Fogel    schedule 22.02.2016