Java程序-谢尔宾斯基三角形递归改进
📅 2026/7/1 7:29:45
👁️ 次浏览
将所有计算过中点的边存入hashmap中后续的每条边计算中点先到hashmap当中查询是否存-在存在就不用计算了 直接获取之前算过的中点边类:两个端点 中点重写equals方法用两个端点做比较不论方向- hashcode方法也要重写 计算hash值根据端点计算K-V边 对象-K 中点-Vpackagelbx628;importjavax.swing.*;importjava.awt.*;importjava.util.HashMap;importjava.util.Objects;importjava.util.Random;publicclassDrawmidextendsJFrame{// 边类两个端点用于HashMap的KeypublicclassEdge{Pointp1,p2;//构造publicEdge(Pointp1,Pointp2){this.p1p1;this.p2p2;}publicbooleanequals(Objecto){//判断地址是否相同如果地址相同的话那就相同//this表示调动equals方法的对象if(thiso){returntrue;}// getClass()获取一个类的字节码对象注同一个类的字节码对象是相等的// ||有true则true具备短路作用左边为true右边不执行// o null对象为null提高代码的健壮性if(onull||/*省略了this.*/getClass()!o.getClass()){returnfalse;}// 强制类型转换o 强制转换成 e,目的是为了调用子类特有的成员//eoEdgee(Edge)o;return(p1.equals(e.p1)p2.equals(e.p2))||(p1.equals(e.p2)p2.equals(e.p1));}publicinthashCode(){Pointa,b;if(p1.xp2.x||(p1.xp2.xp1.yp2.y)){ap1;bp2;}else{ap2;bp1;}returnObjects.hash(a,b);}}RandomrandomnewRandom();HashMapEdge,PointhmnewHashMap();// 边→中点 缓存publicDrawmid(){setTitle(谢尔宾斯基三角形递归);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(800,800);setLocationRelativeTo(null);setVisible(true);}Overridepublicvoidpaint(Graphicsg){super.paint(g);drawmidRect(g,400,50,150,650,700,650,100,150);}publicPointgetMid(intx1,inty1,intx2,inty2){EdgeenewEdge(newPoint(x1,y1),newPoint(x2,y2));Pointphm.get(e);if(p!null){returnp;}pnewPoint((x1x2)/2,(y1y2)/2);hm.put(e,p);returnp;}publicvoiddrawmidRect(Graphicsg,intx1,inty1,intx2,inty2,intx3,inty3,intrx,intry){if(Math.abs(x3-x2)80||Math.abs(y3-y1)80){g.drawLine(x1,y1,x2,y2);g.drawLine(x1,y1,x3,y3);g.drawLine(x2,y2,x3,y3);return;}Pointpm1getMid(x1,y1,x2,y2);Pointpm2getMid(x2,y2,x3,y3);Pointpm3getMid(x1,y1,x3,y3);if(rx0ry0){pm1.xrandom.nextInt(rx*2)-rx;pm1.yrandom.nextInt(ry*2)-ry;pm2.xrandom.nextInt(rx*2)-rx;pm2.yrandom.nextInt(ry*2)-ry;pm3.xrandom.nextInt(rx*2)-rx;pm3.yrandom.nextInt(ry*2)-ry;}intnrMath.max(1,rx/2);intnyMath.max(1,ry/2);drawmidRect(g,x1,y1,pm1.x,pm1.y,pm3.x,pm3.y,nr,ny);drawmidRect(g,pm1.x,pm1.y,x2,y2,pm2.x,pm2.y,nr,ny);drawmidRect(g,pm3.x,pm3.y,pm2.x,pm2.y,x3,y3,nr,ny);drawmidRect(g,pm1.x,pm1.y,pm2.x,pm2.y,pm3.x,pm3.y,nr,ny);}publicstaticvoidmain(String[]args){newDrawmid();}}
英飞凌TC3XX芯片开发避坑指南:手把手教你调试TriCore的Trap异常(附实战代码)在嵌入式开发领域,英飞凌Aurix TC3XX系列芯片凭借其TriCore架构的高性能与可靠性,已成为汽车电子和工业控制系统的首选。然而,当…
📅 2026/7/1 7:29:45
用Python可视化拉梅系数:从数学公式到工程实践的思维跃迁当你第一次在《高等传热学》教材中看到拉梅系数时,是否曾被那一串复杂的偏导数运算劝退?在柱坐标系和球坐标系中计算微元体积时,是否好奇过为什么公式里总会多出ρ或rsinθ…
📅 2026/7/1 7:29:45
112G AI 服务器高速线束自动化生产线定制指南 非标线束整线方案参考
近两年 AI 算力应用快速落地,112G 高速差分线束已经成为中高端 AI 服务器、数据中心互联设备的标配部件,市场需求持续释放。不少线束生产企业在承接这类订单时,常会碰到实际…
📅 2026/7/1 7:29:43
JetBrains IDE试用期重置终极指南:如何快速恢复30天免费试用 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter
JetBrains IDE试用期重置工具是一款专为开发者设计的智能解决方案,能够轻松解决…
📅 2026/7/1 8:37:54
1.系统介绍 随着家居消费市场的数字化转型,传统家具销售模式存在信息不对称、管理效率低、用户体验差等问题,难以满足多角色(用户、管理员、商家)的协同运营需求,因此开发一套一体化的家具销售管理系统具有现实必要性。…
📅 2026/7/1 8:37:54
Video Download Helper:专业级浏览器视频下载解决方案全解析 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper
你是否曾遇到过这些场…
📅 2026/7/1 8:37:54
突破样本不平衡困境:PyTorch实战Focal Loss从原理到调优当你在训练一个目标检测模型时,是否遇到过这样的困境——模型对背景类(负样本)的预测准确率高达99%,但对真正关心的目标类(正样本)却视而…
📅 2026/7/1 8:37:54
更多请点击:
https://intelliparadigm.com
第一章:AI代码审查工具到底值不值得上?一线团队3个月实测数据揭示真实ROI与隐性成本 某中型SaaS团队在CI/CD流水线中集成GitHub Copilot Business Snyk Code Sourcegraph Cody,覆盖Go…
📅 2026/7/1 8:37:54
大家好,我是长期在Linux运维一线摸爬滚打的技术博主。在日常服务器管理和生产环境维护中,硬盘挂载是再基础不过的操作。然而,很多朋友在配置 /etc/fstab 时,可能随手就写上了 /dev/sdb1 这样的设备名,结果某次服务…
📅 2026/7/1 8:35:53
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/1 0:00:39
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/1 0:00:39
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/1 0:00:39
6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…
📅 2026/6/30 10:04:37
引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…
📅 2026/6/30 6:54:54
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/1 0:00:39
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/1 0:00:39
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/1 0:00:39