Ответы пользователя по тегу C++
  • Почему компилируется 'Hello, World!', хотя был введен другой код?

    @exaw
    Компилятору Visual Studio C++ нужно некоторое время, чтобы прогреться, поэтому какое-то количество раз может компилироваться закладка Кернигана-Ритчи, это самый ваш Hello World.
    Ответ написан
    Комментировать
  • Как распараллелить цикл с помощью thread?

    @exaw
    Для организации параллельных вычислений обычно используют OpenMP или Intel tbb. Там планирование, балансировка, создание потоков идёт из коробки. Попробуйте.
    Ответ написан
    Комментировать
  • Триангуляция point cloud на С++?

    @exaw
    Можно попробовать аккуратно выпилить и собрать из CGAL или VTK только то, что нужно, если там лицензии позволяют таким заниматься.
    Ответ написан
  • Как организовать структуру файла проекта собственной программы?

    @exaw
    я у себя делаю json через Boost.PropertyTree
    если человекочитаймый и человекосоздаваймый формат не нужен, о чем говорилось выше, то можно Boost.Serialization
    Ответ написан
  • Какой выбрать современный хороший учебник по C++?

    @exaw
    Николаи М. Джосаттис
    Стандартная библиотека C++. Справочное руководство
    Ответ написан
    Комментировать
  • Как разбить многогранник на тетраэдры с помощью TetGen?

    @exaw
    Решение задачи зависит от типа ваших многогранников - выпуклые или нет, с плоскими гранями или нет, насколько точный объем нужен.

    Разбиение многогранника на тетраэдры действительно дает возможность вычисления объема многогранника через вычисление определителей.
    Только если грани многогранника не плоские, точно описать тетраэдрами многогранник уже не получится и будет иметь место ошибка приближения и, возможно, фокусы с усреднением по нескольким видам разбиения.

    Если вам нужен объем, думаю, не важно, много или мало тетраэдров у вас в итоге получится.

    Для разбиения на тетраэдры для вычисления объема многогранника не стоит использовать генераторы типа TetGen или NetGen и подобные. Эти библиотеки решают задачу построения сетки, годной для расчетов, или для дальнейшего построения более сложных расчетных сеток, т.е. являются инструментами решения более сложных задач.

    Скорее полезным будет посмотреть в сторону алгоритмов и библиотек вычислительной геометрии - CGAL, например.

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

    В самом простом варианте выпуклого многогранника - разбиваете на треугольники грани, ставите точку в геометрический центр многогранника - из трех точек треугольников и точки центра формируете набор тетраэдров.
    Ответ написан