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

上海网站设计开发oa做软件还是网站

上海网站设计开发,oa做软件还是网站,营销型网站建设好不好,怎么学建设网站目录 一、算法原理二、代码实现三、结果展示 本文由CSDN点云侠原创。博客长期更新,本文最近更新时间为:2025年6月15日。 一、算法原理 圆柱面参数方程(局部坐标系): x r cos ⁡ θ , y r sin ⁡ θ , z h x r \c…

目录

  • 一、算法原理
  • 二、代码实现
  • 三、结果展示

在这里插入图片描述
本文由CSDN点云侠原创。博客长期更新,本文最近更新时间为:2025年6月15日。

一、算法原理

  圆柱面参数方程(局部坐标系):
x = r cos ⁡ θ , y = r sin ⁡ θ , z = h x = r \cos\theta,\quad y = r \sin\theta,\quad z = h x=rcosθ,y=rsinθ,z=h
其中:

  • r r r 为圆柱半径
  • θ ∈ [ 0 , 2 π ) \theta \in [0, 2\pi) θ[0,2π) 为旋转角度
  • h ∈ [ 0 , H ] h \in [0, H] h[0,H] 为高度

二、代码实现

#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/common/transforms.h>
#include <pcl/ModelCoefficients.h>void CreatCylinder(pcl::ModelCoefficients::Ptr& coefCylinder,pcl::PointCloud<pcl::PointXYZ>::Ptr& cloud, int Num = 1200, float height = 1.0)
{if (coefCylinder->values.size() != 7 || coefCylinder->values[6] <= 0){std::cerr << "参数输入错误!!!" << std::endl;return;}//先构建轴线为Z轴的圆柱点云float inter = 2.0 * M_PI / Num;Eigen::VectorXf vectorx(Num), vectory(Num);vectorx.setLinSpaced(Num, 0, Num - 1);vectory = vectorx;Eigen::RowVector3f axis(coefCylinder->values[3], coefCylinder->values[4], coefCylinder->values[5]);float length = axis.norm();cout << length << endl;float x0, y0, z0, r0;x0 = coefCylinder->values[0];y0 = coefCylinder->values[1];z0 = coefCylinder->values[2];r0 = coefCylinder->values[6];pcl::PointCloud<pcl::PointXYZ>::Ptr cylinder(new pcl::PointCloud<pcl::PointXYZ>);for (float z = 0.0; z <= height; z += 0.05){for (size_t i = 0; i < Num; ++i) {pcl::PointXYZ point;point.x = r0 * cosf(vectorx[i] * inter);point.y = r0 * sinf(vectory[i] * inter);point.z = z;cylinder->points.push_back(point);}}//点云旋转 Z轴转到axisEigen::RowVector3f Z(0.0, 0.0, 0.1);//Eigen::Vector3f axis(coefCylinder->values[3], coefCylinder->values[4], coefCylinder->values[5]);Eigen::Matrix4f Rotate = Eigen::Matrix4f::Identity();Rotate.block<3, 3>(0, 0) = Eigen::Quaternionf::FromTwoVectors(Z, axis).toRotationMatrix();Rotate.block<3, 1>(0, 3) = Eigen::Vector3f(coefCylinder->values[0], coefCylinder->values[1], coefCylinder->values[2]);//旋转pcl::transformPointCloud(*cylinder, *cloud, Rotate);}int main()
{pcl::ModelCoefficients::Ptr cylinder(new pcl::ModelCoefficients);pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);cylinder->values.resize(7);//随便设置参数cylinder->values[0] = 1;cylinder->values[1] = 2;cylinder->values[2] = 3;cylinder->values[3] = 4;cylinder->values[4] = 5;cylinder->values[5] = 6;cylinder->values[6] = 7;CreatCylinder(cylinder, cloud, 2000, 80.0);cout << cloud->size() << endl;//--------------------------------------可视化--------------------------pcl::visualization::PCLVisualizer viewer;//创建的点云和直接addCylinder函数创建的圆柱面面片进行比对viewer.addPointCloud<pcl::PointXYZ>(cloud, "cloud1");//viewer.addCylinder(*cylinder, "cylinder");viewer.addCoordinateSystem();while (!viewer.wasStopped()){viewer.spinOnce(100);}return 0;
}

三、结果展示

在这里插入图片描述

http://www.dtcms.com/wzjs/826715.html

相关文章:

  • 淘宝客怎么做的网站家政保洁公司网站建设方案
  • 有做网站的公司吗工作单位怎么填
  • 网站建设论文任务书网络电话免费30分钟
  • 什么是搜索引擎营销?株洲seo优化官网
  • 校园门户网站系统建设方案电影网站建设方案
  • 营销型的物流网站模板下载员工管理网站模板
  • 找做仿网站建始县城乡建设局网站
  • se 网站优化百度网址大全在哪里找
  • 免费vue前端模板网站微信小程序需要服务器吗
  • 国内建网站多少钱app嵌入手机网站
  • 浙江住建局官方网站calypso wordpress
  • 企业建设网站没有服务器坪地网站建设代理商
  • 网站没有备案怎么做淘宝客襄阳市住房城乡建设部网站
  • 正规的佛山网站建设有了域名和云主机怎么做网站
  • 做网站视频背景邢台做网站推广找谁
  • 个人免费建站软件朋友圈推广平台
  • 网站响应式与电脑版有什么区别微信推广平台
  • 南昌餐厅网站建设wordpress qq评论
  • 一个空间可以做两个网站吗做兼职什么网站好
  • 公众号做视频网站吗云网站制作的流程
  • 网站建设简单流程如何面试网站开发
  • 贵港做网站建设价格费用邢台市官网
  • 实业有限公司网站怎么做推广营销策划
  • 网站设计与建设报告呼市赛罕区信息网站做一顿饭工作
  • 苏州网站公司查网站是否备案
  • 建设动漫网站的目的ei网站怎么兼做
  • 宁波企业网站设计网站后台用esayui做
  • thinkphp手机网站开发宠物店网站建设方案
  • vr全景网站怎么做wordpress网络
  • 东莞住房和城乡建设厅网站wordpress分页无效