Я работаю с Three.js. У меня есть коллекция 3D-точки (x, y, z) и коллекция лиц. Одна грань состоит из K баллов. Он может быть также выпуклым, как вогнутый. Я не нашел ничего, что могло бы помочь мне в документации Three.js. Одним из решений может быть триангуляция этих фигур, но до сих пор я не нашел простого алгоритма трехмерной треугольности.Триангуляция трехмерных точек с К вершинами на лицо
Другое решение было бы сделать что-то вроде этого:
var pointsGeometry = new THREE.Geometry();
pointsGeometry.vertices.push(new THREE.Vector3(10, 0, 0));
pointsGeometry.vertices.push(new THREE.Vector3(10, 10, 0));
pointsGeometry.vertices.push(new THREE.Vector3(0, 10, 0));
pointsGeometry.vertices.push(new THREE.Vector3(1, 3, 0));
pointsGeometry.vertices.push(new THREE.Vector3(-1, 3, 0));
pointsGeometry.vertices.push(new THREE.Vector3(10, 0, 0));
var material = new THREE.MeshBasicMaterial({color: 0x00ff00});
var mesh = new THREE.Shape/ShapeGeometry/Something(pointsGeometry, material);
group.add(mesh);
scene.add(group);
У меня есть много таких форм, которые создают вместе замкнутую поверхность.
Любое предложение?
Благодарим за внимание. Имейте славный день.
Я уже знаю, что точки копланарны, поэтому я могу легко вычислить нормаль плоскости, проецировать плоскость и точки на плоскость X, Y. У меня уже есть собственный 2D-алгоритм триангуляции. после этого мне не нужно менять точки на предыдущую плоскость, потому что мне просто нужен их порядок. Впоследствии, с порядком точек, я могу легко сформировать треугольники и отправить их в three.js построить объект с геометрией буфера (Похоже, я не могу пометить вас), но спасибо, и демонстрация отличная, я должен проверить ее своими данными и посмотреть, подходит ли она моей системе :) – Swisx