从Projection_traits_xy_3的受约束delaunay三角测量中检索z



给定x,y,如何使用projection_traits_xy_3检索从2.5D构建的二维约束delaunay三角测量的z坐标?

typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Projection_traits_xy_3<K>  Gt;
typedef CGAL::Triangulation_vertex_base_2<Gt> Vb;
typedef CGAL::Delaunay_mesh_face_base_2<Gt> Fb;
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
typedef CGAL::Constrained_Delaunay_triangulation_2<Gt, Tds> CDT;

我的猜测是,我必须找回这张脸,但下一步该怎么办?

CDT::Point query(10,10,?);   
CDT::Face_handle face_handle = cdt.locate(query);

三角测量::点将是一个三维点,因此face_handle->vertex(0)->point()将是具有z坐标的三维点。

正如@Andreas所指出的,即使使用二维投影,三角测量也会存储三维点。因此,我们可以检索Point_3

给定查询点(x,y) = (100,100):

//z unknown
Point query1(100, 100, 0);
CDT::Face_handle face_handle = cdt.locate(query1);
K::Point_3 p = face_handle->vertex(0)->point();
K::Point_3 q = face_handle->vertex(1)->point();
K::Point_3 r = face_handle->vertex(2)->point();

相关内容

  • 没有找到相关文章

最新更新