Я предполагаю, что это для создания инструмента для 2D-сетки. Если это так, и это домашнее задание, я предлагаю сделать это самостоятельно, так как вы получите много. Если это не проблема с сеткой, то я должен буду сказать, что вам необходимо помочь ...
Для этого используйте центры узлов сетки, чтобы сгенерировать ваши эквиваляторы. Если у вас нет центральных точек для начала, вам нужно сначала выбрать ориентацию для своего объекта, а затем создать эти (прямоугольные) узлы сетки (вам нужно будет разработать способ проверки, действительно ли эти точки лежат внутри границ вашего объекта). Затем вы можете построить свои равносторонние треугольники, используя эти точки. Заметка. Вам снова придется иметь дело с обнаружением края, чтобы получить половину достойной точности.
Чтобы идти немного дальше, чем просто эквивалеры, и получить более точную сетку, вам нужно будет изучить анизотропную адаптацию сетки (AMA) с использованием триангуляции. Это будет намного сложнее, чем основной подход, описанный выше, но весело!
Отметьте этот link двумерному tet-mesh-генератору с использованием AMA. В статье этот код основан на это:
- V. Dolejsi: Anisotropic mesh adaptation for finite volume and finite element methods on triangular meshes Computing and Visualisation in Science, 1:165-178, 1998.
Это похоже домашнее задание. Если это так, он должен быть помечен как таковой. – CAbbott
На самом деле это не так, я делаю это для удовольствия. Изображение взято с сайта, говорящего о поиске лучшего маршрута газонокосилки, и я хотел сделать это с помощью программы. –