CGAL生成简单形状

三角形

四边形

立方体

六面体

棱柱

锥体

二十面体

网格

cpp 复制代码
	Polyhedron _mesh;

	/**************三角形************/
	CGAL::make_triangle(K::Point_3(100, 0, 0), K::Point_3(0, 100, 0), K::Point_3(0, 0, 0), _mesh);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/triangle.stl", _mesh);
	_mesh.clear();

	/**************四边形************/
	CGAL::make_quad(K::Point_3(0, 0, 0), K::Point_3(100, 0, 0), K::Point_3(100, 100, 0), K::Point_3(0, 100, 0), _mesh);
	CGAL::Polygon_mesh_processing::triangulate_faces(_mesh);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/quad.stl", _mesh);	
	_mesh.clear();

	/**************立方体************/
	K::Iso_cuboid_3 cubte(K::Point_3(0, 0, 0), K::Point_3(100, 100, 100));
	CGAL::make_hexahedron(cubte, _mesh);
	CGAL::Polygon_mesh_processing::triangulate_faces(_mesh);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/cubte.stl", _mesh);	
	_mesh.clear();

	/**************六面体(下面的点顺时针,上面的点逆时针,与下面的一一对应)************/
	CGAL::make_hexahedron(
		K::Point_3(0, 0, 0), K::Point_3(100, 0, 0), K::Point_3(120, 120, 0), K::Point_3(0, 90, 0),
		K::Point_3(0, 0, 100), K::Point_3(110, 0,100), K::Point_3(100, 100, 130), K::Point_3(0, 100, 100),
		_mesh);
	CGAL::Polygon_mesh_processing::triangulate_faces(_mesh);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/hexahedron.stl", _mesh);
	_mesh.clear();

	/**************正棱柱************/
	CGAL::make_regular_prism(36, _mesh, K::Point_3(0, 0, 0),100, 20);
	CGAL::Polygon_mesh_processing::triangulate_faces(_mesh);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/regular_prism.stl", _mesh);
	_mesh.clear();

	/**************锥体(金字塔)************/
	CGAL::make_pyramid(36, _mesh, K::Point_3(0, 0, 0),100, 20);
	CGAL::Polygon_mesh_processing::triangulate_faces(_mesh);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/pyramid.stl", _mesh);
	_mesh.clear();

	/**************二十面体************/
	CGAL::make_icosahedron(_mesh, K::Point_3(0, 0, 0),5);
	CGAL::Polygon_mesh_processing::triangulate_faces(_mesh);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/icosahedron.stl", _mesh);
	_mesh.clear();

	/**************网格************/
	CGAL::make_grid(10, 20, _mesh, true);
	CGAL::IO::write_polygon_mesh("F:/WORK/STL/grid.stl", _mesh);
相关推荐
clint4564 天前
C++进阶(1)——前景提要
c++
夜悊4 天前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴4 天前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0015 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
玖玥拾5 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
один but you5 天前
constexpr函数
c++
凡人叶枫5 天前
Effective C++ 条款41:了解隐式接口和编译期多态
java·开发语言·c++·effective c++
凡人叶枫5 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
小胖xiaopangss5 天前
BRpc使用
c++·rpc
-森屿安年-5 天前
63. 不同路径 II
c++·算法·动态规划