Open CASCADE学习|直纹曲面(ruled surface)

这篇具有很好参考价值的文章主要介绍了Open CASCADE学习|直纹曲面(ruled surface)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

直纹曲面是一类特殊的曲面,在几何学和微分几何中都有研究。它的主要特性是,曲面上的每一点都有至少一条直线经过。换句话说,直纹曲面可以由一条直线通过连续运动构成。在三维欧几里德空间中,最常见的直纹曲面是平面、柱面和锥面,著名的莫比乌斯环也是直纹曲面。

直纹曲面在几何学和微分几何中有许多重要的应用和研究。由于它们具有很好的性质,因此在微分几何曲面论中占据十分重要的地位。对直纹曲面性质的研究已经取得了很多理想且有价值的成果。例如,活动标架法与外微分法相结合是研究微分几何学的有力工具,也被广泛应用于直纹曲面的研究中。

Open CASCADE学习|直纹曲面(ruled surface),Open CASCADE,学习,Open CASCADE,c++

#include <TColgp_HArray1OfPnt.hxx>
#include <gp_Pnt.hxx>
#include <GeomAPI_Interpolate.hxx>
#include <BRepBuilderAPI_MakeWire.hxx>
#include <GeomFill.hxx>
#include <BRepBuilderAPI_MakeEdge.hxx>
#include"Viewer.h"
#include <BRepBuilderAPI_MakeFace.hxx>
​
int main(int argc, char* argv[])
{
    //生成第一个曲线
    TColgp_HArray1OfPnt Linearray1 = TColgp_HArray1OfPnt(1, 5);
    Linearray1.SetValue(1, gp_Pnt(5, 0, 0));
    Linearray1.SetValue(2, gp_Pnt(4, 1.5, 0));
    Linearray1.SetValue(3, gp_Pnt(3, 2, 0));
    Linearray1.SetValue(4, gp_Pnt(2, 3, 0));
    Linearray1.SetValue(5, gp_Pnt(0, 4.5, 0));
    GeomAPI_Interpolate bspline_11 = GeomAPI_Interpolate(&Linearray1, Standard_False, 0.00001);
    bspline_11.Perform();
    Handle(Geom_BSplineCurve) bspline_21 = bspline_11.Curve();
    TopoDS_Edge bspline_31 = BRepBuilderAPI_MakeEdge(bspline_21);
    TopoDS_Shape bspline1 = BRepBuilderAPI_MakeWire(bspline_31);
    //生成第二个曲线
    TColgp_HArray1OfPnt Linearray2 = TColgp_HArray1OfPnt(1, 5);
    Linearray2.SetValue(1, gp_Pnt(8, 0, 5));
    Linearray2.SetValue(2, gp_Pnt(7, 1.7, 5));
    Linearray2.SetValue(3, gp_Pnt(6, 2.4, 5));
    Linearray2.SetValue(4, gp_Pnt(3, 3.2, 5));
    Linearray2.SetValue(5, gp_Pnt(1, 5, 5));
    GeomAPI_Interpolate bspline_12 = GeomAPI_Interpolate(&Linearray2, Standard_False, 0.00001);
    bspline_12.Perform();
    Handle(Geom_BSplineCurve) bspline_22 = bspline_12.Curve();
    TopoDS_Edge bspline_32 = BRepBuilderAPI_MakeEdge(bspline_22);
    TopoDS_Shape bspline2 = BRepBuilderAPI_MakeWire(bspline_32);
    //二个曲线生成曲面
    Handle(Geom_Surface) surface = GeomFill::Surface(bspline_21, bspline_22);
    TopoDS_Shape surf=BRepBuilderAPI_MakeFace(surface,0.001);
    Viewer vout(50, 50, 500, 500);
    vout << bspline1;
    vout << bspline2;
    vout << surf;
    vout.StartMessageLoop();
    return 0;
}

Open CASCADE学习|直纹曲面(ruled surface),Open CASCADE,学习,Open CASCADE,c++文章来源地址https://www.toymoban.com/news/detail-833315.html

到了这里,关于Open CASCADE学习|直纹曲面(ruled surface)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Open CASCADE学习|参数化球面的奇异性

    参数曲面的奇异性是一个相对复杂的概念,它涉及到参数曲面的几何特性和参数化过程中的一些特殊情况。参数曲面通常用于描述三维空间中的复杂形状,通过参数方程将二维参数域映射到三维空间中。然而,在某些情况下,参数曲面可能会表现出奇异性,即参数映射不再是

    2024年01月23日
    浏览(32)
  • Open CASCADE学习|为什么由Edge生成Wire不成功?

    Wire 是一种复合形状,不是由几何形状构建的,而是由边缘的装配构建的。BRepBuilderAPI_MakeWire类可以从一个或多个Edge构建Wire,或将新Edge连接到现有Wire。  BRepBuilderAPI_MakeWire 类将Edge连接到Wire。添加新Edge时,如果其顶点之一与Wire共享,则认为它已连接到Wire。如果没有共享顶

    2024年02月22日
    浏览(47)
  • Open CASCADE学习|迭代NCollection_Sequence<gp_Pnt>

    目录 1、NCollection_Sequence 2、NCollection_Sequence 3、迭代NCollection_Sequence 3.1使用传统for循环 3.2使用C++11范围for循环 3.3 使用迭代器 3.4使用STL算法 3.5转换为其他容器类型 NCollection_Sequence是Open CASCADE Technology (OCCT) 中的一个模板类,它用于存储和管理一系列对象。这个类提供了一种灵

    2024年04月15日
    浏览(22)
  • 3D Surface Subdivision Methods 3D 曲面细分方法

    原文地址: https://doc.cgal.org/latest/Subdivision_method_3/index.html#Chapter_3D_Surface_Subdivision_Methods 细分方法递归地细化控制网格并生成逼近极限表面的点。 该包由四种流行的细分方法及其细化主机组成。 支持的细分方法包括 Catmull-Clark、Loop、Doo-Sabin 和 √3 细分。 它们各自的细化宿主是

    2024年01月19日
    浏览(30)
  • 【三】3D匹配Matching之可变形曲面匹配Deformable Surface—refine_deformable_surface_model()算子

    😊😊😊 欢迎来到本博客 😊😊😊 🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。 😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–搜索你要查询的算子名称;或者点击

    2024年02月11日
    浏览(31)
  • 【三】3D匹配Matching之可变形曲面匹配Deformable Surface—read_deformable_surface_model()算子

    😊😊😊 欢迎来到本博客 😊😊😊 🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。 😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–搜索你要查询的算子名称;或者点击

    2024年02月14日
    浏览(45)
  • 【三】3D匹配Matching之可变形曲面匹配Deformable Surface—get_deformable_surface_matching_result()算子

    😊😊😊 欢迎来到本博客 😊😊😊 🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。 😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–搜索你要查询的算子名称;或者点击

    2024年02月09日
    浏览(33)
  • 【三】3D匹配Matching之可变形曲面匹配Deformable Surface——serialize_deformable_surface_model()算子

    😊😊😊 欢迎来到本博客 😊😊😊 🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。 😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–搜索你要查询的算子名称;或者点击

    2024年02月11日
    浏览(53)
  • Open3D Surface reconstruction 表面重建

    在许多情况下,我们希望生成密集的3D几何体,即三角形网格(triangle mesh)。然而,从多视点立体方法或深度传感器中,我们只能获得非结构化的点云。要从此非结构化输入中获取三角形网格,我们需要执行表面重建。在文献中存在几种方法,Open3D目前实现了以下方法: Alpha

    2023年04月27日
    浏览(24)
  • 学习PCL库:PCL库中surface模块

    公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。 surface模块介绍 PCL库中的surface模块提供了各种表面重建和拟合算法,根据任务的不同包含

    2024年01月22日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包