≡
导航
搜索
教程
插件
模型
模板
博客
交易
朋友
编程语言分享讨论总汇吧
已关注 | 取消
+关注
关注:
10
帖子:
1,222
签到
05月06日 尚未签到
看帖
图片
精品
视频
共有回帖数
0
个
手把手叫你画多角芒星~~~
取消只看楼主
收藏
回复
做月子
等级:
声明,前几天看见EGE的示例DEMO里面有五角星,于是乎点进去看了,发现和我以前画的十二星旗的方法几乎一致,说我抄袭,这个就算抄袭了炮姐的吧,今天无聊了一下午,突发奇想是不是所有的多角芒星都可以用同一个公式表示?于是乎忙活了一会,终于被我发现秘密了。。。
我们用EGE中的fillpoly这个函数画五角星,先看这个函数的用法
void fillpoly(
int numpoints,
const int *polypoints,
PIMAGE pimg = NULL
);
参数1,int整型,代表有多少个顶点,参数2,指向一个const int 的指针,至少有可用的顶点*2个元素,储存着顶点的x,y坐标,该函数的工作方式是依次从第一个顶线划线至最后一个顶点,然后再由最后一个连完至第一个,有点像一笔画。现在来算上图的各个点的坐标,此窗口的长宽为640*480,所以中心点的坐标为320,240,以下都是画在中心点上。
首先定义一个数组,长度为10,int start5crood,10]={0};然后计算顶点坐标,图中a=2*PI/5;
顶点1的坐标,x = 320+sin(0*PI/5)*r,y=240-cos(0*PI/5)*r;
顶点2的坐标,x = 320+sin(4*PI/5)*r,y=240-cos(4*PI/5)*r;
顶点3的坐标,x = 320+sin(8*PI/5)*r,y=240-cos(8*PI/5)*r;
顶点4的坐标,x = 320+sin(2*PI/5)*r,y=240-cos(2*PI/5)*r;
顶点5的坐标,x = 320+sin(6*PI/5)*r,y=240-cos(6*PI/5)*r;
循环赋给start5crood,然后再用,fillpoly(5, start5crood);画出,就OK了
楼主 2015-11-05 12:34
回复
共有回帖数
0
个
回 帖
表情
图片
视频
欢迎来到本吧,您可以在此发帖和众多大咖交流学习.
选择或直接输入昵称
Tips:支持QQ截图直接粘贴
发表
登录直线网账号
自动登录
忘记密码
免费注册
本吧信息
查看详情
吧主:
禾木
本吧公告
好好学习,天天向上!
我常逛的吧
我管理的吧
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈
|
关于直线
|
版权声明
|
会员须知