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

【三维建模】三维建模基础一

本文涉及知识点

计算几何

效果图

各步骤及代码

长方体一

直接创建长方体。

SSolid1Param param=newSSolid1Param();Solid3d solid=newSolid3d();solid.CreateBox(param.m_XBottom1,param.m_YBottom1,param.m_ZBottom1);

减去长方体二


长方形向X方向拉伸60。

{//减去长方体Point3d pt=newPoint3d(-param.m_XBottom1/2,-param.m_YBottom2/2,-param.m_ZBottom1/2);Point3d[]pts=newPoint3d[4]{pt,pt,pt,pt};pts[1]=pts[1].Add(newVector3d(0,0,param.m_ZBottom2));pts[2]=pts[2].Add(newVector3d(0,param.m_YBottom2,param.m_ZBottom2));pts[3]=pts[3].Add(newVector3d(0,param.m_YBottom2,0));var pl=QinShiCad.RegionTools.CreateSimplePolyline3d(pts);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(pl,newVector3d(param.m_XBottom1,0,0),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid);}

减去圆柱一


圆柱向z方向拉伸18。

Point3d O1=newPoint3d(0,-param.m_YBottom1/2,-param.m_ZBottom1/2);{//减去圆柱Circle circle=newCircle(O1,Vector3d.ZAxis,param.m_r1);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(circle,newVector3d(0,0,param.m_ZBottom1),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid);}

大圆柱减小园柱


两个圆向y轴负方向拉伸。

Point3d O2=newPoint3d(O1.X,-O1.Y,O1.Z+param.m_disO1O2);Circle circle2=newCircle(O2,Vector3d.YAxis,param.m_r2);{Circle circle3=newCircle(O2,Vector3d.YAxis,param.m_r3);Solid3d extrudedSolid2=newSolid3d();extrudedSolid2.CreateExtrudedSolid(circle2,newVector3d(0,-param.m_y2,0),newSweepOptions());Solid3d extrudedSolid3=newSolid3d();extrudedSolid3.CreateExtrudedSolid(circle3,newVector3d(0,-param.m_y2,0),newSweepOptions());extrudedSolid2.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid3);solid.BooleanOperation(BooleanOperationType.BoolUnite,extrudedSolid2);}

减去小圆柱


向z轴负方向拉伸。

Point3d O4=newPoint3d(0,param.m_YBottom1/2-param.m_yDis4,O1.Z+param.m_disO1O2+param.m_r2);{//减去小圆柱Circle circle=newCircle(O4,Vector3d.ZAxis,param.m_r4);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(circle,newVector3d(0,0,-param.m_r2),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolSubtract,extrudedSolid);}

增加梯形拉伸


C是A和园的切点,D是B和园的切点。注意: 有两个切点,选择Z大的。

{var p8=Polyline8(param,circle2);Solid3d extrudedSolid=newSolid3d();extrudedSolid.CreateExtrudedSolid(p8,newVector3d(0,-param.m_y8,0),newSweepOptions());solid.BooleanOperation(BooleanOperationType.BoolUnite,extrudedSolid);}

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
员工说:技术至上,老板不信;投资人的代表说:技术至上,老板会信。
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019C++17
或者 操作系统:win10 开发环境: VS2022C++17
如无特殊说明,本算法用**C++**实现。

http://www.jsqmd.com/news/177931/

相关文章:

  • 目标检测系列之YOLOv3——一次渐进式网络结构改进 - 实践
  • 如何设计一个简单的 `ORM` 框架?
  • 南大数电实验2,3,6,78
  • MySQL中between子句和limit子句的区别
  • Python 的设计哲学P06:时间与控制 - 教程
  • 医疗影像MobileNet轻量化稳住推理
  • 导师严选9个AI论文网站,专科生轻松搞定毕业论文格式规范!
  • Mysql自增锁(Auto-inc Locks)用法
  • 深度测评!研究生必备AI论文平台TOP9:开题文献综述全解析
  • 双目相机前方交会测量模型 包含误差分析,误差源引入,误差趋势分析,相机参数成像模块,三维重建模...
  • Valgrind 内存调试
  • Valgrind 内存调试
  • 如何成为一名渗透测试专家:核心技能与职业路径
  • 开源项目分享 : Gitee热榜项目 2026-1-1 日榜
  • MySQL 中快速的复制一张表包括表结构和数据
  • 8.1 模块与包
  • 8.3 类的详解
  • 比360还好用,完全免费无套路!
  • Rust - 链式调用解引用的四种方式
  • 2024年SEVC SCI2区,双种群协同遗传算法+AGV柔性作业车间调度,深度解析+性能实测
  • 8款AI论文写作辅助工具对比:智能降重与高效创作效果评测
  • 手机变电脑摄像头!DroidCamX全平台使用指南与实战教程 - 教程
  • 【如何实现有效社交】转载
  • 数据目录在大数据架构中的核心作用解析
  • 轴向磁场轮毂电机的结构设计 电动汽车已经逐渐使用轮毂电机来代替发动机,这可以很好的减少油耗及尾...
  • 如何让你的语音助手有眼力见——Turn Detection 的 5 种解法丨Voice Agent 学习笔记
  • 深度测评9个AI论文工具,专科生轻松搞定毕业论文!
  • 亲测好用8个AI论文软件,专科生毕业论文轻松搞定!
  • 从理论到界面:六维坐标系与三值九层立体结构的工具化路径
  • 德诺超声波焊接机怎么选购才保证品质与性价比?