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

公司做网站需要哪些自己搭建网络培训平台

公司做网站需要哪些,自己搭建网络培训平台,36氪网站是用什么做的,哪里网站建设专业判断 一个点 ,判断是否在风格 stl 模型内部#xff0c;或表面#xff1a; 目录 1.方案一#xff1a;使用vtkCellLocator FindClosestPoint 找到模型上距离给定点最近的一点#xff0c;计算两点的距离 #xff0c;小于某一阈值 则认为此点在模型上#xff1b; 2.方案二…判断 一个点 ,判断是否在风格 stl 模型内部或表面 目录 1.方案一使用vtkCellLocator  FindClosestPoint 找到模型上距离给定点最近的一点计算两点的距离 小于某一阈值 则认为此点在模型上 2.方案二 使用 vtkKdTreePointLocator 3.方案三 使用 vtkSelectEnclosedPoints 1.方案一使用vtkCellLocator  FindClosestPoint 找到模型上距离给定点最近的一点计算两点的距离 小于某一阈值 则认为此点在模型上 vtkCellLocator本身是一个octree。典型的用法就是求最近的单元或者点 bool CheckPointInsidePolyData(vtkPolyData * poly, double* pt) {bool insidefalse; auto cellLocator vtkSmartPointervtkCellLocator::New();cellLocator-SetDataSet(poly);cellLocator-BuildLocator();auto assistCell vtkSmartPointervtkGenericCell::New();double closestPoint[3];//the coordinates of the closest point will be returned heredouble closestPointDist2; //the squared distance to the closest point will be returned herevtkIdType cellId; //the cell id of the cell containing the closest point will be returned hereint subId-1;cellLocator-FindClosestPoint(point, closestPoint, assistCell, cellId, subId, closestPointDist2);if (-1! subIdclosestPointDist2 0.001){return true;}return inside; } 2.方案二 使用 vtkKdTreePointLocator 但这个只能找到最新的点还需要自己判断一下距离 官方样例 #include vtkIdList.h #include vtkKdTreePointLocator.h #include vtkNew.h #include vtkPoints.h #include vtkPolyData.hint main(int, char*[]) {// Setup point coordinatesdouble x[3] {1.0, 0.0, 0.0};double y[3] {0.0, 1.0, 0.0};double z[3] {0.0, 0.0, 1.0};vtkNewvtkPoints points;points-InsertNextPoint(x);points-InsertNextPoint(y);points-InsertNextPoint(z);vtkNewvtkPolyData polydata;polydata-SetPoints(points);// Create the treevtkNewvtkKdTreePointLocator kDTree;kDTree-SetDataSet(polydata);kDTree-BuildLocator();double testPoint[3] {2.0, 0.0, 0.0};// Find the closest points to TestPointvtkIdType iD kDTree-FindClosestPoint(testPoint);std::cout The closest point is point iD std::endl;// Get the coordinates of the closest pointdouble closestPoint[3];kDTree-GetDataSet()-GetPoint(iD, closestPoint);std::cout Coordinates: closestPoint[0] closestPoint[1] closestPoint[2] std::endl;return EXIT_SUCCESS; } 3.方案三 使用 vtkSelectEnclosedPoints vtkSelectEnclosedPoints类可以判断标记点是否在封闭表面内。 vtkSelectEnclosedPoints是一个Filter它计算所有输入点以确定它们是否位于封闭曲面中。过滤器生成一个0,1掩码以vtkDataArray的形式指示点是在提供的曲面的外部掩码值0还是内部掩码值1(输出vtkDataArray的名称是“SelectedPoints”。 运行过滤器后可以通过调用IsInsideptId方法来查询点是否在内部/外部。 样例判断三个点是否在立方体内 注意在立方体边上的点不属于在立方体内部 CODE #include vtkVersion.h #include vtkPolyData.h #include vtkPointData.h #include vtkCubeSource.h #include vtkSmartPointer.h #include vtkSelectEnclosedPoints.h #include vtkIntArray.h #include vtkDataArray.h #include vtkProperty.h #include vtkPolyDataMapper.h #include vtkActor.h #include vtkRenderWindow.h #include vtkRenderer.h #include vtkRenderWindowInteractor.hint main(int, char*[]) {vtkNewvtkCubeSource cubeSource;cubeSource-Update();vtkPolyData* cube cubeSource-GetOutput();double testInside[3] { 0.0, 0.0, 0.0 };double testOutside[3] { 0.7, 0.0, 0.0 };double testBorderOutside[3] { 0.5, 0.0, 0.0 };vtkNewvtkPoints points;points-InsertNextPoint(testInside);points-InsertNextPoint(testOutside);points-InsertNextPoint(testBorderOutside);vtkNewvtkPolyData pointsPolydata;pointsPolydata-SetPoints(points);//Points inside testvtkNewvtkSelectEnclosedPoints selectEnclosedPoints;selectEnclosedPoints-SetInputData(pointsPolydata);selectEnclosedPoints-SetSurfaceData(cube);selectEnclosedPoints-Update();for (unsigned int i 0; i 3; i) {std::cout Point i : selectEnclosedPoints-IsInside(i) std::endl;}vtkDataArray* insideArray vtkDataArray::SafeDownCast(selectEnclosedPoints-GetOutput()-GetPointData()-GetArray(SelectedPoints));for (vtkIdType i 0; i insideArray-GetNumberOfTuples(); i) {std::cout i : insideArray-GetComponent(i, 0) std::endl;}//Cube mapper, actorvtkNewvtkPolyDataMapper cubeMapper;cubeMapper-SetInputConnection(cubeSource-GetOutputPort());vtkNewvtkActor cubeActor;cubeActor-SetMapper(cubeMapper);cubeActor-GetProperty()-SetOpacity(0.5);//First, apply vtkVertexGlyphFilter to make cells around points, vtk only render cells.vtkNewvtkVertexGlyphFilter vertexGlyphFilter;vertexGlyphFilter-AddInputData(pointsPolydata);vertexGlyphFilter-Update();vtkNewvtkPolyDataMapper pointsMapper;pointsMapper-SetInputConnection(vertexGlyphFilter-GetOutputPort());vtkNewvtkActor pointsActor;pointsActor-SetMapper(pointsMapper);pointsActor-GetProperty()-SetPointSize(5); pointsActor-GetProperty()-SetColor(1.0, 0.0, 0);//Create a renderer, render window, and interactorvtkNewvtkRenderer renderer;vtkNewvtkRenderWindow renderWindow;renderWindow-AddRenderer(renderer);vtkNewvtkRenderWindowInteractor renderWindowInteractor;renderWindowInteractor-SetRenderWindow(renderWindow);// Add the actor to the scenerenderer-AddActor(cubeActor);renderer-AddActor(pointsActor);renderer-SetBackground(.0, 1, .0);renderWindow-Render();renderWindowInteractor-Start();return EXIT_SUCCESS; } 输出 Point 0: 1 Point 1: 0 Point 2: 0 0 : 1 1 : 0 2 : 0
http://www.lakalapos1.cn/news/74786/

相关文章:

  • 网站群内容管理系统的设计与实现排名前十的设计公司
  • 学习网首页网站seo优化
  • 专业的建网站公司地址综述题建设网站需要几个步骤
  • 一个完整网站开发需要什么技术114在线查询电话
  • 免费网站制作报价江门网页建站模板
  • 网站做APP麻烦吗网站建设网站系统选择
  • 做h的动漫在线观看网站东莞石碣镇
  • 网络营销和网站推广的区别中国写作网
  • 网站网站如何做的充值wordpress主菜单下拉箭头怎么设置
  • wordpress 附件插件下载成都百度网站优化
  • 南通哪里做网站wordpress 引用 插件
  • 郑州快速建站价格昆明的房产网站建设
  • 现在 做网站 技术路线网络营销的期末试题及答案
  • 小说网站开发实训报告网站建设使用的什么软件有哪些
  • 如何自建网站做外贸网站内容策划方案
  • 高端企业站管理培训课程
  • 企业商城网站开发信息网站建设情况工作会
  • 网站建设丿金手指排名9移动软件开发专业
  • 西安网站公司建设织梦网站建设博客
  • 优化网站性能监测wordpress 简书风格
  • 全国优秀作文网站陕西广告公司网站建设
  • 建设商业网站物流公司排名前十
  • 网站首页加载特效做个网站在线投稿页面
  • 增城电子商务网站建设wordpress加载很慢
  • 专做皮鞋销售网站上海网站改版服务
  • 给宝宝做辅食的网站wordpress 知乎
  • 成都房地产网站建设企业互联网营销推广服务
  • 武威建设银行网站长沙网站优化外包公司
  • 曲阳做网站网站的根目录下是哪个文件夹
  • 网站建设所需要的材料优的网站建设明细报价表