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

空间解析几何6:空间圆柱体的离散化表示【附MATLAB代码】

matlab代码

clc;
clear;
PP1 = [0,0,0];
Rz = [0 0 -1];
Rx = [0 1 0];
h= 10;
r = 10;
result = getCylinder(PP1,Rz,Rx,h,r);
function result = getCylinder(PP1,Rz,Rx,h,r)
%%圆柱参数
result = [];
pp2 = PP1-h/2*Rz;
radius=r;
Rz = Rz'/norm(Rz);
Rx = -Rx'/norm(Rx);
Ry = cross(Rz,Rx);
Tc1=[Rx,Ry,Rz,pp2'
    0,0,0,1];
range = 180;
container = [];
stepZ = 0.01;
stepX = 1;
for l_k = 0:stepZ:1
    for theta_u = -range:stepX:range    
     cylinder_ku = Tc1*[radius*cos(theta_u/180*pi),radius*sin(theta_u/180*pi),l_k*h,1]'; 
     container = [container;cylinder_ku(1:3,1)'];
    end
end
figure('color',[1 1 1]);
plot3(container(:,1),container(:,2),container(:,3),'r.','MarkerSize',10)
grid on
result = container;
end

结果验证:

可以自己修改离散化参数看看不同参数下的效果,加深理解。


http://www.kler.cn/a/382889.html

相关文章:

  • 制造业仓储信息化总体规划方案
  • Java 异常处理的最佳实践
  • sqli-labs(第一关)
  • 将Beyond Compare添加到右键菜单中
  • flink实战-- flink任务的火焰图如何使用
  • C++ 之boost/date_time/posix_time高精度计时详细总结
  • 封装axios、环境变量、api解耦、解决跨域、全局组件注入
  • 根据问题现象、用户操作场景及日志打印去排查C++软件问题,必要时尝试去复现问题
  • 修改elementUI等UI组件样式的5种方法总结,哪些情况需要使用/deep/, :deep()等方式来穿透方法大全
  • 职业院校关于大数据、云计算和物联网传感器技术的结合与应用探讨
  • Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析
  • 淘宝商品详情API接口Java GET调用指南
  • 【鉴权】深入解析OAuth 2.0:访问令牌与刷新令牌的安全管理
  • Vue Router进阶详解
  • andrular输入框input监听值传递
  • OpenSSL 生成根证书、中间证书和网站证书
  • 1分钟解决Excel打开CSV文件出现乱码问题
  • B站的视频下载的视频是mkv格式,怎么通过ffimage转化为mp4的格式
  • 【Python】Bottle:轻量Web框架
  • python通过pyarmor库保护源代码
  • 从零记录搭建一个干净的mybatis环境
  • 爬虫-------字体反爬
  • Google Guava 发布订阅模式/生产消费者模式 使用详情
  • 2024 ICPC National Invitational Collegiate Programming Contest, Wuhan Site
  • 套利定理
  • 路见不平 ! 基于tensorlfow快速迭代的户型图分类功能