当前位置: 首页 > news >正文

h5响应式网站是什么关于做面包的网站

h5响应式网站是什么,关于做面包的网站,公司网站封面怎么做,网络上如何推广网站文章目录一、直线vtkLineSource1.1 几何参数1.2 示例代码一条简单的直线简单折线二、复杂折线vtkPolyLineSource2.1 功能说明2.2 几何参数2.3 示例代码2.4 显示结果3.1 功能说明3.2 几何参数3.3 示例代码3.4 显示结果四、圆弧曲线vtkArcSource4.1 功能说明4.2 几何参数4.3 示例…

文章目录

  • 一、直线vtkLineSource
    • 1.1 几何参数
    • 1.2 示例代码
      • 一条简单的直线
      • 简单折线
  • 二、复杂折线vtkPolyLineSource
    • 2.1 功能说明
    • 2.2 几何参数
    • 2.3 示例代码
    • 2.4 显示结果
    • 3.1 功能说明
    • 3.2 几何参数
    • 3.3 示例代码
    • 3.4 显示结果
  • 四、圆弧曲线vtkArcSource
    • 4.1 功能说明
    • 4.2 几何参数
    • 4.3 示例代码
    • 4.4 显示结果:
  • 五、椭圆弧vtkEllipseArcSource
    • 5.1 功能说明
    • 5.2 几何参数
    • 5.3 示例代码
    • 5.4 显示结果
  • 六、正多边形vtkRegularPolygonSource
    • 6.1 几何参数
    • 6.2 代码实现
    • 6.3 显示结果
  • 七、参数曲线vtkProgrammableSource
    • 7.1 功能说明
      • vtkPolyLineSource - 专用多段线生成器
      • vtkProgrammableSource - 通用可编程数据源
      • 选择
      • 性能考虑
    • 7.2 示例代码
    • 7.3 显示结果


一、直线vtkLineSource

1.1 几何参数

  • SetPoint1(double x,double y,double z):起点坐标;
  • SetPoint2(double x,double y,double z):终点坐标;
  • SetResolution(int res):线段分段;
  • SetPoints(vtkPoints points):折线折点集合;

1.2 示例代码

一条简单的直线

//1、数据源
vtkSmartPointer<vtkLineSource > line = vtkSmartPointer<vtkLineSource >::New();
line->SetPoint1(0, 0, 0);            // 起点
line->SetPoint2(5, 5, 5);            // 终点
line->SetResolution(10);             // 线段分段数
line->Update();

显示结果:
在这里插入图片描述

简单折线

//1、数据源
vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
points->InsertNextPoint(1,1,0);
points->InsertNextPoint(2,0,1);
points->InsertNextPoint(3,1,1);
points->InsertNextPoint(1,5,1);
points->InsertNextPoint(1,1,3);
vtkSmartPointer<vtkLineSource > line = vtkSmartPointer<vtkLineSource >::New();
line->SetPoint1(0, 0, 0);            // 起点
line->SetPoint2(5, 5, 5);            // 终点
line->SetResolution(10);             // 线段分段数
line->SetPoints(points);             // 设置折线点
line->Update();

显示结果:
在这里插入图片描述

二、复杂折线vtkPolyLineSource

2.1 功能说明

  • 类型:数据源类(Source)
  • 功能:生成由多个点定义的折线(多线段)
  • 输出:vtkPolyData 包含一个多线段单元(vtkPolyLine)
  • 特点:
    • 可创建包含任意数量点的连续折线
    • 点之间按顺序连接
    • 直接输出可渲染的几何数据
    • VTK 9.0 及以上版本专用
  • 简化了老版本 vtkPoints + vtkPolyLine + vtkCellArray + vtkPolyData 组合,这些改成了类内部实现

2.2 几何参数

  • SetPoints(vtkPoints points):设置点坐标;
  • SetClosed(bool b):设置多段线是否闭合(首尾相连);默认值为False;

2.3 示例代码

//1、创建多段线的点
vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
points->InsertNextPoint(0.0, 0.0, 0.0);
points->InsertNextPoint(1.0, 0.0, 0.0);
points->InsertNextPoint(1.0, 1.0, 0.0);
points->InsertNextPoint(1.0, 1.0, 5.0);
//2、创建多线段源
vtkSmartPointer<vtkPolyLineSource> polyLine = vtkSmartPointer<vtkPolyLineSource>::New();
polyLine->SetPoints(points);
polyLine->SetClosed(true);

2.4 显示结果

开口:
在这里插入图片描述

闭口:
在这里插入图片描述

三、圆盘vtkDiskSource

3.1 功能说明

生成一个代表圆盘(可以是实心圆,也可以是圆环)

3.2 几何参数

  • SetInnerRadius():设置内圆半径;默认值0;
  • SetOuterRadius():设置外圆半径;默认值为0;
  • SetRadialResolution():径向分辨率;该值决定了从内径到外径之间有多少个同心圆;默认值为1;
  • SetCircumferentialResolution():圆周分辨率;通俗来讲,设置是多少,圆就有多少条边,边越多,圆就越圆;默认值是6;

3.3 示例代码

vtkSmartPointer<vtkDiskSource> disk = vtkSmartPointer<vtkDiskSource>::New();
disk->SetInnerRadius(1.0);           // 内半径
disk->SetOuterRadius(3.0);           // 外半径
disk->SetRadialResolution(1);       // 径向分段数
disk->SetCircumferentialResolution(4); // 圆周分段数
disk->Update();

3.4 显示结果

边数<=3时,是一个三角形:
在这里插入图片描述

边数是4时,是一个正方形:
在这里插入图片描述

边数是N,是N边形:
在这里插入图片描述

边数越大,圆就越圆:
在这里插入图片描述

四、圆弧曲线vtkArcSource

4.1 功能说明

根据用户提供的参数(如起点、终点、中心点、角度、分辨率等),计算并生成一系列的点(Points)和单元(Cells,通常是多义线 Polyline 或多边形 Polygon),从而在三维空间中构建出一段圆弧的几何形状。

4.2 几何参数

  • SetPoint1(double x, double y, double z):起点;
  • SetPoint2( 0.0, 1.0, 0.0): 终点;
  • SetCenter( 0.0, 0.0, 0.0): 圆心;
  • NegativeOn()/NegativeOff():优弧、劣弧;通俗来讲优弧就是画大半弧,劣弧就是画小半弧;默认是劣弧;
  • SetResolution():分辨率;默认值是100;

4.3 示例代码

vtkSmartPointer<vtkArcSource> arcSource = vtkSmartPointer<vtkArcSource>::New();
arcSource->SetPoint1(-1.0, 0.0, 0.0); // 起点
arcSource->SetPoint2( 0.0, 1.0, 0.0); // 终点
arcSource->SetCenter( 0.0, 0.0, 0.0); // 圆心
arcSource->NegativeOn();
arcSource->SetResolution(50);         // 分辨率
//arcSource->SetOutputPointsPrecision(0);//控制生成的点的坐标是单精度(SINGLE_PRECISION)还是双精度(DOUBLE_PRECISION)。对于高精度要求的场景非常有用。
arcSource->Update();

4.4 显示结果:

劣弧:
在这里插入图片描述

优弧:
在这里插入图片描述

五、椭圆弧vtkEllipseArcSource

5.1 功能说明

与上述圆弧类似,这个是椭圆的圆弧;

5.2 几何参数

在这里插入图片描述

5.3 示例代码

// 1. 创建椭圆弧源
vtkSmartPointer<vtkEllipseArcSource> arcSource = vtkSmartPointer<vtkEllipseArcSource>::New();// 2. 设置参数(根据头文件完全正确的API)
arcSource->SetCenter(0.0, 0.0, 0.0);           // 中心在原点// 设置法向量(定义椭圆所在平面)
double normal[3] = {0.0, 0.0, 1.0};
arcSource->SetNormal(normal);                  // XY平面// 设置长轴向量(定义长轴方向和长度)
double majorRadiusVector[3] = {2.0, 0.0, 0.0};
arcSource->SetMajorRadiusVector(majorRadiusVector); // 长轴半径为2,沿X轴方向// 设置椭圆比例(短轴半径/长轴半径)
arcSource->SetRatio(0.5);                      // 短轴半径 = 0.5 * 2.0 = 1.0arcSource->SetStartAngle(45.0);                // 起始角度 45°
arcSource->SetSegmentAngle(270.0);             // 跨越 270° (逆时针)
arcSource->SetResolution(80);                  // 用 80 条线段来近似弧线// 可选:闭合弧线(连接起点和终点)
arcSource->SetClose(false);                    // 不闭合arcSource->Update();

5.4 显示结果

在这里插入图片描述

六、正多边形vtkRegularPolygonSource

6.1 几何参数

在这里插入图片描述

6.2 代码实现

// 1. 创建正多边形源
vtkSmartPointer<vtkRegularPolygonSource> polygonSource = vtkSmartPointer<vtkRegularPolygonSource>::New();// 2. 设置参数(根据头文件完全正确的API)
polygonSource->SetNumberOfSides(6);        // 设置边数为6(六边形)
polygonSource->SetCenter(0.0, 0.0, 0.0);   // 中心在原点// 设置法向量(定义多边形所在平面)
double normal[3] = {0.0, 0.0, 1.0};
polygonSource->SetNormal(normal);          // XY平面polygonSource->SetRadius(1.0);             // 半径为1// 设置生成选项
polygonSource->SetGeneratePolygon(true);   // 生成填充面片
polygonSource->SetGeneratePolyline(true);  // 生成轮廓线// 设置输出点精度(可选)
polygonSource->SetOutputPointsPrecision(vtkAlgorithm::DOUBLE_PRECISION);polygonSource->Update();

6.3 显示结果

不生成填充平面:
在这里插入图片描述

生成填充平面:
在这里插入图片描述

七、参数曲线vtkProgrammableSource

7.1 功能说明

与vtkPolyLineSource类似,区别如下:

vtkPolyLineSource - 专用多段线生成器

  • 专用性:专门为创建多段线设计
  • 简单API:提供 AddPoint(), SetPoints(), SetClosed() 等直观方法
  • 内置优化:针对多段线创建进行了性能优化
  • 局限性:只能创建多段线,无法生成其他类型的数据

vtkProgrammableSource - 通用可编程数据源

  • 通用性:可以创建任何类型的 VTK 数据(PolyData、ImageData、StructuredGrid 等)
  • 高度灵活:完全由用户代码控制数据生成过程
  • 学习曲线:需要了解 VTK 数据模型和回调函数机制
  • 功能强大:可以实现任何复杂的数据生成逻辑

选择

  • 使用 vtkPolyLineSource 当:
    • 只需要创建简单的多段线
    • 希望代码简洁易读
    • 不需要高度定制化的数据生成逻辑
    • 追求最佳性能
  • 使用 vtkProgrammableSource 当:
    • 需要创建非标准或复杂几何体
    • 需要生成多种类型的数据(不仅仅是多段线)
    • 需要实现自定义的数据生成算法
    • 需要动态生成基于参数的数据
    • 现有的专用源无法满足需求

性能考虑

  • vtkPolyLineSource:经过优化,性能更好
  • vtkProgrammableSource:性能取决于用户实现的效率,可能需要进行优化

7.2 示例代码

回调函数:

void GenerateCustomLine(void* arguments) {vtkProgrammableSource* self = (vtkProgrammableSource*)arguments;vtkPolyData* output = self->GetPolyDataOutput();// 创建点和单元vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();vtkSmartPointer<vtkCellArray> lines = vtkSmartPointer<vtkCellArray>::New();// 添加点points->InsertNextPoint(0, 0, 0);points->InsertNextPoint(1, 1, 0);points->InsertNextPoint(2, 0, 0);points->InsertNextPoint(6, 2, 0);points->InsertNextPoint(0, 0, 7);// 创建线vtkSmartPointer<vtkPolyLine> polyLine = vtkSmartPointer<vtkPolyLine>::New();polyLine->GetPointIds()->SetNumberOfIds(5);for (int i = 0; i < 5; i++) {polyLine->GetPointIds()->SetId(i, i);}lines->InsertNextCell(polyLine);// 设置输出output->SetPoints(points);output->SetLines(lines);
}

调用:

// 使用自定义源
vtkSmartPointer<vtkProgrammableSource> customSource = vtkSmartPointer<vtkProgrammableSource>::New();
customSource->SetExecuteMethod(GenerateCustomLine, customSource);
customSource->Update();

7.3 显示结果

在这里插入图片描述

http://www.dtcms.com/a/452652.html

相关文章:

  • php做电商网站安全性如何做水果生意去那个网站
  • 手机网站 数据库网站的优化分析
  • 湖南省网站建设代做效果图的网站
  • 网站技术方案怎么写电子商务网站建设 李洪心
  • 瑞安做网站多少钱新北建设局网站
  • 网站建设流程讯息网站空间流量不够
  • app手机网站制作vue wordpress 主题
  • 无网站做cpa推广js跳转到别的网站
  • 国内外画画做的好网站长沙seo优化报价
  • 龙岩网站建设行情微管家平台
  • 什么网站是vue做的html5表白网页在线生成
  • 皇家梅陇公馆网站建设只做动漫的网站
  • 常州h5网站建设做的好的食用菌公司网站有
  • 个人做的网站制作旅游网站
  • 国外有趣的网站步骤的拼音
  • 重庆模板建站哪家好如何寻找seo网站建设客户
  • 做游戏ppt下载网站有哪些内容html5制作网站谁的好
  • wordpress发布网站江西网站建设价格
  • 网站备案需要多少时间wordpress访问过的页码不变色
  • 无锡网站推整合营销网络推广
  • 永安市建设局网站深圳营销型网站建设公司
  • 编程网站有哪些开福区城乡建设局门户网站
  • 广东省网站备案要多久做网站代码难么
  • 沈阳三好街做网站公司免费网页设计整套模板
  • 网站建设 搞笑笑话北京旧房改造装修哪家好
  • 怎样做一元购网站多页网站模板
  • 为什么只有我的电脑看网站后台内容管理是乱码广告投放平台系统
  • 室内设计师网站十大网站免费发帖推广的平台
  • 网站服务器错误商城网站功能文档
  • 自建网站多少钱武安市精品网站开发