news 2026/10/15 13:25:38

【三维 五角星】平面五角星放样到三维

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【三维 五角星】平面五角星放样到三维

本文涉及知识点

计算几何

效果


原理


平面五角星和一点放样。平面五角星=五边形(01234)-五个三角形,这五个三角形的端点分别是:
0,1,(02和14交点)
1,2,(13和20交点)
2,3,(24和31交点)
3,4(30和42交点)
4,0(41和03交点)
总结:i,i+1,(线段i(i+2)%5 线段(i+1)%5((i+1+3)%5)

代码

classStar{publicstaticvoidCreate(SStarParam param){CMathConfig.s_dLenTol=0.0001;SPoint2D[]pts=newSPoint2D[5];Point3d[]pt3Ds=newPoint3d[5];doubleradian=2*Math.PI/5;for(inti=0;i<5;i++){pts[i].X=param.m_dRadius*Math.Cos(radian*(i+1));pts[i].Y=param.m_dRadius*Math.Sin(radian*(i+1));pt3Ds[i]=pts[i].To3();}Polyline3d pl=RegionTools.CreateSimplePolyline3d(pt3Ds);Region reg=RegionTools.CreateRegion(pl);RegionTools.CreateRegion(pl);for(inti=0;i<5;i++){intj=(i+1)%5;intk1=(i+2)%5;intk2=(j+3)%5;CAxByC0 line1=newCAxByC0(pts[i],pts[k1]);CAxByC0 Line2=newCAxByC0(pts[j],pts[k2]);var ptCross=line1.Cross(Line2);Point3d[]ptTriangle=newPoint3d[]{pts[i].To3(),pts[j].To3(),ptCross.To3()};var triangle=RegionTools.CreateSimplePolyline3d(ptTriangle);var regTriangle=RegionTools.CreateRegion(triangle);reg.BooleanOperation(BooleanOperationType.BoolSubtract,regTriangle);}Point3d[]tops=newPoint3d[3]{newPoint3d(param.m_dRadius/1000,0,param.m_dHalfHeight),newPoint3d(-param.m_dRadius/1000,0,param.m_dHalfHeight),newPoint3d(0,param.m_dRadius/1000,param.m_dHalfHeight)};var topTriangle=RegionTools.CreateSimplePolyline3d(tops);Point3d[]bottoms=newPoint3d[3]{newPoint3d(param.m_dRadius/1000,0,-param.m_dHalfHeight),newPoint3d(-param.m_dRadius/1000,0,-param.m_dHalfHeight),newPoint3d(0,param.m_dRadius/1000,-param.m_dHalfHeight)};var bottomTriangle=RegionTools.CreateSimplePolyline3d(bottoms);var solid1=SolidTool.Lofted(reg,topTriangle,newLine(newPoint3d(0,0,0),newPoint3d(0,0,param.m_dHalfHeight)));var solid2=SolidTool.Lofted(reg,bottomTriangle,newLine(newPoint3d(0,0,0),newPoint3d(0,0,-param.m_dHalfHeight)));solid1.BooleanOperation(BooleanOperationType.BoolUnite,solid2);solid1.ColorIndex=1;CadBase.AddEnity(solid1,"0",null);}}

扩展阅读

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

视频课程

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

测试环境

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 21:09:22

古风动画制作革命:AI骨骼驱动水墨人物

古风动画制作革命&#xff1a;AI骨骼驱动水墨人物 引言&#xff1a;当传统水墨遇上AI骨骼 想象一下&#xff0c;让齐白石笔下的虾、徐悲鸿画中的马&#xff0c;都能像迪士尼动画一样活灵活现地动起来。这就是AI骨骼驱动技术为古风动画带来的革命性变化。传统水墨动画制作需要…

作者头像 李华
网站建设 2026/10/13 0:09:30

17点关键点检测保姆级指南:小白5分钟部署,成本直降90%

17点关键点检测保姆级指南&#xff1a;小白5分钟部署&#xff0c;成本直降90% 引言&#xff1a;为什么舞蹈老师需要AI关键点检测&#xff1f; 作为一名舞蹈老师&#xff0c;你是否经常遇到这些困扰&#xff1a;学员动作不够标准&#xff0c;但逐个纠正耗时费力&#xff1b;录…

作者头像 李华
网站建设 2026/10/15 2:47:27

毕业设计救星:AI骨骼检测云端方案,1小时1块免显卡压力

毕业设计救星&#xff1a;AI骨骼检测云端方案&#xff0c;1小时1块免显卡压力 引言&#xff1a;当毕业设计遇上性能瓶颈 距离毕业答辩只剩两周&#xff0c;你的体感游戏设计却卡在了最关键的人体骨骼检测环节——宿舍的轻薄本跑不动MediaPipe&#xff0c;显卡性能不足导致实时…

作者头像 李华
网站建设 2026/10/15 15:04:43

智能打码系统安全评估:数据泄露防护方案

智能打码系统安全评估&#xff1a;数据泄露防护方案 1. 引言&#xff1a;AI 人脸隐私卫士的诞生背景与核心价值 随着社交媒体、智能监控和数字办公的普及&#xff0c;图像中的人脸信息正以前所未有的速度被采集和传播。一张看似普通的合照&#xff0c;可能在不经意间暴露多位…

作者头像 李华
网站建设 2026/10/12 22:41:55

AI如何帮你快速理解MODBUS功能码?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个MODBUS功能码解析工具&#xff0c;能够根据用户输入的功能码&#xff08;如01、02、03、04、05、06、15、16等&#xff09;自动生成对应的功能说明、请求帧格式、响应帧格…

作者头像 李华
网站建设 2026/10/15 13:38:17

AI如何帮你快速搭建Docker国内镜像库

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请生成一个完整的Docker国内镜像库配置方案。要求&#xff1a;1. 自动检测当前网络环境选择最优国内镜像源&#xff08;阿里云、腾讯云、华为云等&#xff09;&#xff1b;2. 生成…

作者头像 李华