案例需求 1 案例描述 将半径为r的圆周n等分,然后用直线将各等分点隔点相连,形成的图案称为“金刚石”图案,试编程实现。 2 案例效果图 案例输入对话框及效果图如图所示。 3 功能说明 1)程序运行界面提供文件、绘图和帮助这3个菜单项。 2)单机绘图菜单,弹出对话框读入圆的等分点个数和圆的半径。 3)以屏幕客户区中心为圆心绘制金刚石图案。 输入对话框 效果 案例分析 (x0,y0) (x4,y4) (x3,y3) (x2,y2) (x1,y1) 案例设计 1 点类的设计 2 对话框类的设计 3 CAdamasView类的设计 4 菜单设计 5 工具条设计 1 点类的设计 添加新类 定义新类 添加的新类P2D P2D的初始定义 在”P2D.h”上修改类的定义 2 对话框类的设计 添加对话框 控件表列 添加对话框类 设计对话框类 3 CAdamasView类的设计 数据成员 double MaxX, MaxY; 声明屏幕最大的x坐标和y坐标。 P2D p[50]; 声明等分点数组。 double n, r; 声明等分点个数和圆的半径。 成员函数 void GetMaxX(); 求屏幕最大的x坐标函数。 void GetMaxY(); 求屏幕最大的y坐标函数。 void Diamond(); 绘制金刚石图案函数。 将数据成员和成员函数添加到CAdamasView类。 在adamasView.h中分别添加数据成员和成员函数的声明。定义了P2D类对象数组p[50],需要再本文件中包含P2D.h头文件,即加入#include “P2D.h”语句。同样为了能在“adamasView.cpp”里调用对话框类,就需要在adamasView.h里包含对话框头文件,即加入“InputDlg.h”语句。 admasView.h中添加变量成员和成员函数的声明 admasView.cpp中添加成员函数的定义 4 菜单设计 (1)设置菜单的ID。 子菜单设计 (2)添加菜单函数 添加菜单的Diamond成员函数 5 工具条设计 案例实现 1 adamasView.h文件 // adamasView.h : interface of the CAdamasView class /// ………… #include “P2D.h” #include “InputDlg.h” …………. // Operations public: void GetMaxX(); //求屏幕最大的x坐标函数。 void GetMaxY(); //求屏幕最大的y坐标函数。 void Diamond(); //绘制金刚石图案函数。 …………. // Implementation public: virtual ~CAdamasView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: int MaxX,MaxY; //声明屏幕最大的x坐标和y坐标。 P2D p[50]; //声明等分点数组。 double n,r; //声明等分点个数和圆的半径。 2. adamasView.cpp文件 #define ROUND(a) int(a+0.5) //四舍五入 #include "math.h" //数学头文件 #define PI 3.1415926 //PI的宏定义 ……….. void CAdamasView::GetMaxX() //求屏幕最大x值 { CRect Rect; GetClientRect(&Rect); MaxX=Rect.right; } void CAdamasView::GetMaxY() //求屏幕最大x值 { CRect Rect; GetClientRect(&Rect); MaxY=Rect.bottom; } void CAdamasView::Diamond() //金刚石函数 { //n为等分点的个数,r为圆的半径 CClientDC dc(this); //设置客户区设备上下文 CPen MyPen,*OldPen; MyPen.CreatePen(PS_SOLID,1,RGB(0,0,255)); OldPen=dc.SelectObject(&MyPen); double Thta; Thta=2*PI/n; for(int i=0;i

金刚石图案java实现_案例1 绘制金刚石图案算法.ppt相关推荐

  1. 通过jstack定位在线运行java系统故障_案例1

    问题描述: 在一个在线运行的java web系统中,会定时运行一个FTP上传的任务,结果有一天发现,文件正常生成后却没有上传. 问题初步分析: 1.查看日志文件 发现这个任务只打印了开始进入FTP处理 ...

  2. Java实例_综合实践3.K-Means聚类算法

    编写程序实现K-Means聚类算法 (见图 4-12). K-Means是一种聚类算法,后者属于机器学习中的无监督学习,用于识别给定数据集 中的若干数据簇--即每个数据所属的分类. K-Means算法 ...

  3. java 快速排序_面试必不可少的几大排序算法,你掌握了吗?

    从上学那一刻起,老师就说排序算法很重要,面试的时候考官常会问道,要我们认真的学习,出去工作的学长学姐也说这么说的,那么为了能在面试中取得好的印象,我们很有必要对算法进行了解,以便在面试中取得好的印象, ...

  4. 数控铣削图案及编程_数控铣床漂亮编程图案 数控铣床编程100例

    求80*60的木板上用数控铣床刻一个漂亮图案,求编程程序? 你学什么样的机床?如果是farak,则使用M98调用子例程.格式为m98p ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ...

  5. l bfgs算法java代码_数值优化:理解L-BFGS算法

    译自<Numerical Optimization: Understanding L-BFGS>,本来只想作为学习CRF的补充材料,读完后发现收获很多,把许多以前零散的知识点都串起来了.对 ...

  6. 曼哈顿距离java实现_基于javascript实现获取最短路径算法代码实例

    这篇文章主要介绍了基于javascript实现获取最短路径算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 //A算法 自动寻路 ...

  7. java 用户日志_2020年阿里巴巴最全Java、架构师、大数据、算法PPT技术栈图册

    我只截图不说话,PPT大全,氛围研发篇.算法篇.大数据.Java后端架构!除了大家熟悉的交易.支付场景外,支撑起阿里双十一交易1682亿元的"超级工程"其实包括以下但不限于客服.搜 ...

  8. Java 绘制艺术图案

    1. 使用 Graphics2D 类的 translate() 方法,将坐标轴平移到指定点 2. 使用 Graphics2D 类的 setColor() 方法,设置颜色 3. 使用 Graphics2 ...

  9. 【计算机图形学】实验一 · 绘制金刚石图案

    一.实验任务 定义二维坐标系原点位于屏幕中心,x轴水平向右为正,y轴铅直向上为正. 以二维坐标系原点为圆心绘制半径为r的圆,将圆的n等分点使用直线彼此连接形成金刚石图案. 程序运行界面提供" ...

最新文章

  1. 大数据和数据库的理解文章收藏
  2. python【蓝桥杯vip练习题库】BASIC-18 矩形面积交(线段交)
  3. 包和模块_月隐学python第13课
  4. 给Hangfire的webjob增加callback和动态判断返回结果功能设计
  5. utf-8转换gbk代码_将代码转换为现金-如何以Web开发人员的身份赚钱并讲述故事。...
  6. Eclipse: the import java.util cannot be resolved
  7. 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
  8. Cisco ASDM-IDM 安装配置for Windows10
  9. tcpdf 使用总结
  10. Redis客户端连接远程Redis服务器
  11. 分析微信聊天记录(2)——分析单人的微信聊天记录
  12. drupal8 自定义主题开发步骤
  13. idea或者goland更改主题颜色背景颜色
  14. tezos multisig baker
  15. 游戏开发全免费下载网站:源代码插件模型场景全部免费
  16. 特斯拉高管揭秘自动驾驶技术:48种神经网络上阵,最多可检测1000种物体
  17. SuperMap iServer服务器安全性最优做法
  18. VBA案例8:实现在ppt中写vba,控制动态图
  19. C++:实现一些简单的方法来 布莱克-斯科尔斯期权估值理论(附完整源码)
  20. 关于使用anaconda安装package出现CondaHTTPError问题

热门文章

  1. ChatGPT的未来发展
  2. 鸿蒙二代好用吗,华为鸿蒙二代能取代安卓吗?华为鸿蒙和安卓哪个好?
  3. Unity3D制作2D精灵动画
  4. 快用苹果助手的免流量活动,你造?
  5. python中turtle画老虎_通过Turtle库在Python中绘制一个鼠年福鼠
  6. 双目测距深度公式推理。
  7. 留在一线,逃离一线?我从上海举家回成都的生活经历告诉你。。。
  8. 什么是iframe及作用是什么?
  9. iView Table表格带搜索功能的Table组件
  10. 支持全平台全架构源代码加密-Virbox Compiler