Хорошо, чтобы начать с позвольте мне быть ясным, я не заинтересован в преобразовании стека изображений в 3D-модель.
У меня есть файл * .stl (триангулированная сетка поверхности) & Я хотел бы нарезать его обратно в стек изображений. Я посмотрел на Slic3r & Meshmixer но они оба выдают только Gcode.
Таким образом, учитывая, что у меня есть вершины всех точек на поверхности (что случайно не выпукло) & их связь. Какие библиотеки могут помочь с этим?
Мне кажется, что мне нужно будет интерполировать границу на срезы, которые не проходили через известные вершины.
Мне комфортно с Python & C ++ в толчке, но я хочу расширить свой кругозор.
Например, если вы получили вашу сетку для рендеринга с OpenGl (любым способом внутри вашего приложения), а затем, чтобы получить свой фрагмент, вы просто:
glClearColor
установить цвет фонаglClearDepth
установить Z-координату среза в пространстве камерыglDepthFunc(GL_EQUAL)
Что-то вроде:
// here set view
glClearColor( 0.0,0.0,0.0,0.0 ); // <0.0,1.0> r,g,b,a
glClearDepth( 0.5 ); // <0.0,1.0> ... 0.0 = z_near, 1.0 = z_far
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glDepthFunc(GL_EQUAL);
// here render mesh
Это сделает только фрагмент, для которого фрагменты Z==Slice coordinate
, Это также может быть сделано GLSL выбрасывая все фрагменты с разными Z
, DirectX должно быть что-то подобное (я им не пользуюсь, поэтому точно не знаю).
Как большинство сеток BR модели (пусто), тогда вы получите окружность вашего среза, так что вам, скорее всего, придется заполнить его позже, чтобы удовлетворить ваши потребности …
Вы также можете поэкспериментировать с рендерингом толстого среза … где Z находится вокруг предварительно определенного значения …
Если решение HTTP API подходит для вашей цели, я бы предложил следующее ресурс:
Вы можете отправить свою трехмерную сетку (STL, OBJ, 3DS) в конечную точку API и получить ответ JSON. Он будет содержать URL-адрес для рендеринга 2D-изображения вашей 3D-модели среди других результатов 3D-измерений, таких как объем, площадь, ограничивающая рамка, время сборки.
Клиентские библиотеки, которые взаимодействуют с конечной точкой API Manifold и написаны на python, PHP, JavaScript и даже сценариях командной строки cURL, также имеется в наличии.
Я надеюсь, что это поможет в вашем поиске. Прошу прощения, если вы не искали решение для черного ящика и вместо этого пытались реализовать 3D-рендеринг самостоятельно.