版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++画心型算法的代码V1.0.0Nick2012简单说明该方法模拟动态绘画心型图(两个红心,部分重叠),还有丘比特之箭...该文档中代码只是绘画代码,仅供参考绘画算法比较粗劣,代码运行效率比较低,读者可以继续优化希望有更好的算法的读者可以发布出来,实现共享,共同学习,共同进步效果图效果图绘图代码CPaintDCdc(this);CPenpen(PS_SOLID,5,0x000000FF);CPen*pOldPen=dc.SelectObject(&pen);intpos_x=100,pos_y=100;intloop_time=180;intsleep_time=10;intc_angle=90;doublepi=3.1415926;doubleth=pi/180;绘图代码doubler=20;doublelast_x=r*(2*cos(0*th)-cos(2*0*th))/*+pos_x*/;doublelast_y=r*(2*sin(0*th)-sin(2*0*th))/*+pos_y*/;绘图代码doubletemp_x=last_x;doubletemp_y=last_y;doublel_x[180];doublel_y[180];doubler_x[180];doubler_y[180];绘图代码last_x=temp_x*cos(c_angle*th)-temp_y*sin(c_angle*th)+pos_x;last_y=pos_y-(last_y*cos(c_angle*th)+temp_x*sin(c_angle*th));doublex0=last_x;doubley0=last_y;绘图代码for(doublei=0;i<loop_time;i++){ l_x[(int)i]=r*(2*cos(i*th)-cos(2*i*th))/*+pos_x*/; l_y[(int)i]=r*(2*sin(i*th)-sin(2*i*th))/*+pos_y*/; temp_x=l_x[(int)i]; temp_y=l_y[(int)i];绘图代码 l_x[(int)i]=temp_x*cos(c_angle*th)-temp_y*sin(c_angle*th)+pos_x; l_y[(int)i]=pos_y-(temp_y*sin(c_angle*th)+temp_x*sin(c_angle*th)); r_x[(int)i]=x0+(x0-l_x[(int)i]); r_y[(int)i]=l_y[(int)i];绘图代码dc.MoveTo((int)last_x,(int)last_y); dc.LineTo((int)l_x[(int)i],(int)l_y[(int)i]); dc.MoveTo((int)last_x+50,(int)last_y/*+10*/);dc.LineTo((int)l_x[(int)i]+50,(int)l_y[(int)i]/*+10*/);绘图代码 last_x=l_x[(int)i]; last_y=l_y[(int)i]; Sleep(sleep_time);}for(intj=loop_time-1;j>0;j--){绘图代码if((r_x[j]<=l_x[j]+50&&r_y[j]>=y0)||(r_x[j]>=l_x[j]+50&&r_y[j]<=y0)){ dc.MoveTo((int)last_x,(int)last_y); dc.LineTo((int)r_x[j],(int)r_y[j]);} dc.MoveTo((int)last_x+50,(int)last_y/*+10*/); dc.LineTo((int)r_x[j]+50,(int)r_y[j]/*+10*/);绘图代码last_x=r_x[j]; last_y=r_y[j]; Sleep(sleep_time);}dc.MoveTo((int)x0-80,(int)y0);dc.LineTo((int)x0-50,(int)y0);绘图代码Sleep(100);dc.MoveTo((int)x0+80,(int)y0);dc.LineTo((int)x0+130,(int)y0);Sleep(100);dc.MoveTo((int)x0+130,(int)y0);dc.LineTo((int)x0+120,(int)y0-10);绘图代码Sleep(100);dc.MoveTo((int)x0+130,(int)y0);dc.LineTo((int)x0+120,(int)y0+10);Sleep(200);CStringstrText="NickandKady...Love...";CRectrect(CPoint(x0-20,y0+120)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 耐磨试验机相关行业投资方案范本
- 家用塑胶垫相关行业投资规划报告范本
- 汽车底涂行业相关投资计划提议范本
- 职业健康知识竞赛题库及答案
- 毕马威-KPMG-aptitude-test的题型介绍
- 本科毕业论文-四自由度搬运机械手的设计
- 高中数学暑假初高衔接讲义10 集合单元练习1
- 第四单元 村落、城镇与居住环境 练习 高三统编版(2019)高中历史选择性必修2一轮复习
- 第一章 子结构与性质 测试题 高二下学期化学人教版(2019)选择性必修2
- 专题06 课内文言文阅读-2024年中考语文考前查缺补漏试题(成都专用)(原卷版)
- GB/T 3274-2017碳素结构钢和低合金结构钢热轧钢板和钢带
- GB/T 26278-2017轮胎规格替换指南
- GB/T 254-2010半精炼石蜡
- GB/T 23331-2020能源管理体系要求及使用指南
- GB/T 21451.4-2008石油和液体石油产品储罐中液位和温度自动测量法第4部分:常压罐中的温度测量
- FZ/T 73044-2012针织配饰品
- FZ/T 20015.5-2012毛纺产品分类、命名及编号毛毡
- 研发流程培训
- 完整版全面加强练兵备战全文PPT
- 2023年最新辅警招聘试题库及答案(通用版)
- 混凝土结构承重检测鉴定报告模板
评论
0/150
提交评论