已知一条线,画出一颗五角星,怎样实现呢?麻烦大家给点思路

zyw067 2015-06-19 10:16:15
上周入职的,也是从上周开始几乎0基础学习MFC,边看孙鑫的视频边学,试用期1个月,要做6道测试题,这是第三道。。。完全没有思路,
麻烦大家给个思路,也烦请大家能指导下MFC学习方法,十分感谢!
要求:
以鼠标按下到松开之间为边长,画出一个正五边形。
...全文
555 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangjiefjj 2015-06-30
  • 打赏
  • 举报
回复
好呀,谢谢了
zyw067 2015-06-29
  • 打赏
  • 举报
回复
引用 14 楼 wangjiefjj 的回复:
六个测试题是什么?我也才开始学,是不是这六个会了,基础就有了
跟公司产品有点关系,最终是画K线图,有兴趣的话可以发给你
wangjiefjj 2015-06-28
  • 打赏
  • 举报
回复
六个测试题是什么?我也才开始学,是不是这六个会了,基础就有了
赵4老师 2015-06-24
  • 打赏
  • 举报
回复
引用 12 楼 zyw067 的回复:
[quote=引用 10 楼 schlafenhamster 的回复:] 给你做了个: "vc画五角星" vc6 程序.通过已知2点,画一个五角星. http://download.csdn.net/detail/schlafenhamster/8831137 用鼠标点2个点.
十...十分感谢![/quote] 画≥3角星。
zyw067 2015-06-24
  • 打赏
  • 举报
回复
引用 10 楼 schlafenhamster 的回复:
给你做了个: "vc画五角星" vc6 程序.通过已知2点,画一个五角星. http://download.csdn.net/detail/schlafenhamster/8831137 用鼠标点2个点.
十...十分感谢!
consuvi 2015-06-23
  • 打赏
  • 举报
回复
先画个圆,在圆形上面取5个点,然后依次连接就ok了
schlafenhamster 2015-06-23
  • 打赏
  • 举报
回复
给你做了个: "vc画五角星" vc6 程序.通过已知2点,画一个五角星. http://download.csdn.net/detail/schlafenhamster/8831137 用鼠标点2个点.
schlafenhamster 2015-06-22
  • 打赏
  • 举报
回复
例子#define PI 3.1415926 BOOL TurnDegree(CPoint &startPt,CPoint &endPt,int deg,CPoint &turnedPt) { //s = x cos(b) - y sin(b) //t = x sin(b) + y cos(b) int dX,dY; dX=endPt.x-startPt.x; dY=endPt.y-startPt.y; afxDump << dX << ";" << dY << "\n"; turnedPt.x = (int)(dX*cos(deg*PI/180) - dY*sin(deg*PI/180)); turnedPt.y = (int)(dX*sin(deg*PI/180) + dY*cos(deg*PI/180)); turnedPt.x += startPt.x; turnedPt.y += startPt.y; return TRUE; } ////////////////////////////////////////////////////////////////////////// CPoint m_aPt[5]; ///////////////////////////////////////////////////////////////////////// // OnInitDialog(): // TODO: Add extra initialization here // 1 // 0 2 // // 4 3 m_aPt[0].x=200; m_aPt[0].y=200; m_aPt[2].x=400; m_aPt[2].y=400; // TurnDegree(m_aPt[0],m_aPt[2],36,m_aPt[3]); // TurnDegree(m_aPt[2],m_aPt[0],-36,m_aPt[4]) TurnDegree(m_aPt[3],m_aPt[0],36,m_aPt[1]); // or // Turn36Degree(m_aPt[4],m_aPt[2],-36,m_aPt[1]); ///////////////////////////////////////////////////////////////////////////////////////////////// // OnPaint(): CPaintDC dc(this); // device context for painting // 1 // 0 2 // // 4 3 dc.MoveTo(m_aPt[0].x,m_aPt[0].y); dc.LineTo(m_aPt[2].x,m_aPt[2].y); dc.LineTo(m_aPt[4].x,m_aPt[4].y); dc.LineTo(m_aPt[1].x,m_aPt[1].y); dc.LineTo(m_aPt[3].x,m_aPt[3].y); dc.LineTo(m_aPt[0].x,m_aPt[0].y); //CDialog::OnPaint();
笨笨仔 2015-06-21
  • 打赏
  • 举报
回复
建立算法以画五角星为条件,从按下和放开鼠标得到的2个点为参数,求出其它3个点,直接连接就行了。关键就是求点的算法!有楼上的提示应该就行了。
sysongfeng 2015-06-21
  • 打赏
  • 举报
回复
MoveTo LineTo LineTo LineTo LineTo LineTo OK
走好每一步 2015-06-20
  • 打赏
  • 举报
回复
http://blog.163.com/cxmapleleave@126/blog/static/973569520076601341166/
  • 打赏
  • 举报
回复
多次旋转72度即可。
schlafenhamster 2015-06-19
  • 打赏
  • 举报
回复
正五角星的角=36度
worldy 2015-06-19
  • 打赏
  • 举报
回复
这个应该和编程无关,是数学题,数学搞明白了,就画出来了 题目说的应该是线段吧,直线就得任意取点,先假设两个端点知道吧,P1,P3 假设圆心点P0(x0,y0) P0P1长=P0P3长 P0P1和P0P3的夹角=360/5*2 自己解方程,圆心可知,圆心知道后一切迎刃而解
处处留心 2015-06-19
  • 打赏
  • 举报
回复
这是一道数学题。 对VC来说,就是moveto,几个函数就行了
赵4老师 2015-06-19
  • 打赏
  • 举报
回复
复习高中数学向量几何。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧