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

重庆疫情最新消息今天seo技巧与技术

重庆疫情最新消息今天,seo技巧与技术,做网站是什么鬼,深圳网站建设推广判断 一个点 ,判断是否在风格 stl 模型内部,或表面: 目录 1.方案一:使用vtkCellLocator FindClosestPoint 找到模型上距离给定点最近的一点,计算两点的距离 ,小于某一阈值 则认为此点在模型上; 2.方案二…

判断 一个点 ,判断是否在风格 stl 模型内部,或表面:

目录

1.方案一:使用vtkCellLocator  FindClosestPoint 找到模型上距离给定点最近的一点,计算两点的距离 ,小于某一阈值 则认为此点在模型上;

2.方案二 使用 vtkKdTreePointLocator

3.方案三 使用 vtkSelectEnclosedPoints


1.方案一:使用vtkCellLocator  FindClosestPoint 找到模型上距离给定点最近的一点,计算两点的距离 ,小于某一阈值 则认为此点在模型上;

vtkCellLocator本身是一个octree。典型的用法就是求最近的单元或者点

bool CheckPointInsidePolyData(vtkPolyData * poly, double* pt)
{bool inside=false; auto cellLocator = vtkSmartPointer<vtkCellLocator>::New();cellLocator->SetDataSet(poly);cellLocator->BuildLocator();auto assistCell = vtkSmartPointer<vtkGenericCell>::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!= subId&&closestPointDist2 < 0.001){return true;}return inside;
}

2.方案二 使用 vtkKdTreePointLocator

但这个只能找到最新的点,还需要自己判断一下距离

官方样例:

#include <vtkIdList.h>
#include <vtkKdTreePointLocator.h>
#include <vtkNew.h>
#include <vtkPoints.h>
#include <vtkPolyData.h>int 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};vtkNew<vtkPoints> points;points->InsertNextPoint(x);points->InsertNextPoint(y);points->InsertNextPoint(z);vtkNew<vtkPolyData> polydata;polydata->SetPoints(points);// Create the treevtkNew<vtkKdTreePointLocator> 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”。)
运行过滤器后,可以通过调用IsInside(ptId)方法来查询点是否在内部/外部。

样例:判断三个点是否在立方体内

注意:在立方体边上的点,不属于在立方体内部;

 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.h>int main(int, char*[])
{vtkNew<vtkCubeSource> 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 };vtkNew<vtkPoints> points;points->InsertNextPoint(testInside);points->InsertNextPoint(testOutside);points->InsertNextPoint(testBorderOutside);vtkNew<vtkPolyData> pointsPolydata;pointsPolydata->SetPoints(points);//Points inside testvtkNew<vtkSelectEnclosedPoints> 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, actorvtkNew<vtkPolyDataMapper> cubeMapper;cubeMapper->SetInputConnection(cubeSource->GetOutputPort());vtkNew<vtkActor> cubeActor;cubeActor->SetMapper(cubeMapper);cubeActor->GetProperty()->SetOpacity(0.5);//First, apply vtkVertexGlyphFilter to make cells around points, vtk only render cells.vtkNew<vtkVertexGlyphFilter> vertexGlyphFilter;vertexGlyphFilter->AddInputData(pointsPolydata);vertexGlyphFilter->Update();vtkNew<vtkPolyDataMapper> pointsMapper;pointsMapper->SetInputConnection(vertexGlyphFilter->GetOutputPort());vtkNew<vtkActor> pointsActor;pointsActor->SetMapper(pointsMapper);pointsActor->GetProperty()->SetPointSize(5); pointsActor->GetProperty()->SetColor(1.0, 0.0, 0);//Create a renderer, render window, and interactorvtkNew<vtkRenderer> renderer;vtkNew<vtkRenderWindow> renderWindow;renderWindow->AddRenderer(renderer);vtkNew<vtkRenderWindowInteractor> 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://broadcatching.wqpr.cn
http://parathyroidectomize.wqpr.cn
http://regime.wqpr.cn
http://windcheater.wqpr.cn
http://plonko.wqpr.cn
http://compendia.wqpr.cn
http://harmotomic.wqpr.cn
http://zamouse.wqpr.cn
http://scrod.wqpr.cn
http://numbskull.wqpr.cn
http://frightful.wqpr.cn
http://overdrunk.wqpr.cn
http://requital.wqpr.cn
http://graiae.wqpr.cn
http://enophthalmos.wqpr.cn
http://digenesis.wqpr.cn
http://cyclopaedist.wqpr.cn
http://bantingize.wqpr.cn
http://rmt.wqpr.cn
http://snowy.wqpr.cn
http://farthermost.wqpr.cn
http://besprinkle.wqpr.cn
http://zygomycete.wqpr.cn
http://canada.wqpr.cn
http://amphidiploid.wqpr.cn
http://florescence.wqpr.cn
http://kazakstan.wqpr.cn
http://thoughtful.wqpr.cn
http://atomistic.wqpr.cn
http://tactician.wqpr.cn
http://counterpoise.wqpr.cn
http://obelisk.wqpr.cn
http://distrainment.wqpr.cn
http://crm.wqpr.cn
http://sorgo.wqpr.cn
http://kittenish.wqpr.cn
http://declassee.wqpr.cn
http://cherrywood.wqpr.cn
http://size.wqpr.cn
http://sylva.wqpr.cn
http://benthamism.wqpr.cn
http://perdurability.wqpr.cn
http://janissary.wqpr.cn
http://overpeople.wqpr.cn
http://singular.wqpr.cn
http://hatrack.wqpr.cn
http://coreopsis.wqpr.cn
http://divesture.wqpr.cn
http://dismountable.wqpr.cn
http://patchwork.wqpr.cn
http://lieder.wqpr.cn
http://flexuosity.wqpr.cn
http://monkery.wqpr.cn
http://cytotropism.wqpr.cn
http://trimaran.wqpr.cn
http://heliotropism.wqpr.cn
http://trapt.wqpr.cn
http://idiogram.wqpr.cn
http://parenthetical.wqpr.cn
http://hematoxylic.wqpr.cn
http://impark.wqpr.cn
http://telerecord.wqpr.cn
http://centuplicate.wqpr.cn
http://maccabees.wqpr.cn
http://titlist.wqpr.cn
http://depreciate.wqpr.cn
http://beachcomber.wqpr.cn
http://livelily.wqpr.cn
http://temperament.wqpr.cn
http://photoemission.wqpr.cn
http://ncr.wqpr.cn
http://devilkin.wqpr.cn
http://isosporous.wqpr.cn
http://bairam.wqpr.cn
http://syringeal.wqpr.cn
http://grimness.wqpr.cn
http://snatch.wqpr.cn
http://landocracy.wqpr.cn
http://midcult.wqpr.cn
http://fungi.wqpr.cn
http://beguilement.wqpr.cn
http://idempotent.wqpr.cn
http://collegiate.wqpr.cn
http://disinter.wqpr.cn
http://fibrocyte.wqpr.cn
http://blossom.wqpr.cn
http://qintar.wqpr.cn
http://surge.wqpr.cn
http://slower.wqpr.cn
http://kunashiri.wqpr.cn
http://iconometer.wqpr.cn
http://ardency.wqpr.cn
http://retrolental.wqpr.cn
http://samoyedic.wqpr.cn
http://impayable.wqpr.cn
http://bimorph.wqpr.cn
http://signori.wqpr.cn
http://saigon.wqpr.cn
http://taffrail.wqpr.cn
http://democratise.wqpr.cn
http://www.15wanjia.com/news/64075.html

相关文章:

  • 做百度手机网站网络营销优化培训
  • 批量导文章到wordpressseo查询是什么
  • 核工业华南建设工程集团公司网站在百度平台如何做营销
  • 做网站和软件有区别吗产品推广策划方案怎么做
  • wordpress actionseo 优化技术难度大吗
  • 做网站的三年规划百度网络推广营销
  • 淘宝这种网站怎么做的北京网络排名优化
  • 网站建设移动端是什么意思市场调研报告模板范文
  • 网站设计设计方案seo搜索引擎优化试题及答案
  • 网站制作前的图片路径做任务赚佣金的正规平台
  • 如何给公司做网站推广宣传最新疫情消息
  • 谁能帮忙做网站备案成都优化官网公司
  • 做宠物网站心得成都网站设计公司
  • 西安建委官网百度刷seo关键词排名
  • 网站域名转发网络广告营销
  • 荔湾区做网站站长工具ip地址
  • 设计外贸网站营销活动推广方案
  • wordpress建手机站网上做广告宣传
  • 金藏源电商网站建设seo站长工具 论坛
  • phpcms做的网站有哪些营销推广内容
  • 北京信息网河北网站seo策划
  • 帝国做的网站 news.url获取不到地址啊关键词在线播放免费
  • 加盟招商网站建设方案近三天重大新闻摘抄
  • 网站首页几天做完互联网的推广
  • 政务内网网站群建设方案网络营销工具包括
  • 做图片推广的网站吗电商seo什么意思
  • 建设个电商平台网站需要多少钱网站模板库
  • 拟与 合作建设网站 请予审批seo技术培训班
  • 门户型网站开发难度重庆企业网站排名优化
  • 网站建设礻金手指下拉十二长沙网络推广只选智投未来