五角星的画法
来源:互联网 发布:淘宝乡亲大药房卖假药 编辑:程序博客网 时间:2024/03/29 19:32
绘制五角星作为GDI+画图的一个示例
这是从网上找的比较简单的方法
http://topic.csdn.net/t/20031128/09/2503872.html
http://it.china-b.com/cxsj/VBNET/20090608/55423_1.html
void MyDraw(Graphics g,Point center,int radius){
Point[] pts = new Point[5];
//获取五角星5个顶点
pts[0] = new Point(center.X,center.Y - radius);
pts[1] = Rotate72(pts[0],center);
pts[2] = Rotate72(pts[1],center);
pts[3] = Rotate72(pts[2],center);
pts[4] = Rotate72(pts[3],center);
//简单地拉5条线
Pen pen = new Pen(new SolidBrush(Color.Blue));
g.DrawPolygon(....); //空心
g.FillPolygon(....); //实心
}
//旋转72
private Point Rotate72(Point pt,Point center){
int x = (int)(center.X + (pt.X - center.X) * Math.Cos(72.0 * Math.PI/180) - (pt.Y - center.Y) * Math.Sin(72.0 * Math.PI/180)),
y = (int)(center.Y + (pt.X - center.X) * Math.Sin(72.0 * Math.PI/180) + (pt.Y - center.Y) * Math.Cos(72.0 * Math.PI/180));
return new Point(x,y);
}
//计算内五边形画空心五角星
今天画五角星的时候,发现老是出现交叉线,无法画空心的,
找了半天没发现好用的方法,只好自己画几何图形求解了。
以下是数学公式
a/R=sin72;
y/R=cos72;
x/c=sin36;
y/c=con36;
可以求了正五角形的第一个角点,再旋转72度,可以求出其它几个角点;
然后将这十个点合理排序就是要画的正五角形。
这里的旋转方法是画图的关键,其实这里的用的GDI+功能却不多,不过在gis中被要求画个五角星之类复杂图形却很常见,想想当年三角函数那块,现在终于用上了。
- 五角星的画法
- 计算机图形学-五角星的画法
- opengl 五角星画法 源代码
- android 五角星画法 五角星计算公式
- 五角星的坐标(DirectX)
- Opengl -- 五角星的绘制
- Opengl -- 五角星的绘制
- 五角星
- 数据流程图的画法
- 数据流程图的画法
- 正弦函数的画法
- WPF 虚线的画法
- VC++ 箭头的画法
- 有才人的画法
- JfreeChart 虚线的画法
- 数据流图的画法
- 直线的画法
- 数据流图的画法
- map容器基础
- CPU占用率
- HBase in Production at Facebook – Jonathan Gray at Hadoop World 2010
- GDI+点图形的图法
- 要交c语言大作业了 找到的一些资料
- 五角星的画法
- 单例模式
- Android 编码规范 | 代码风格指南
- A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Program
- Oracle数据块损坏恢复总结
- TIOBE 2011年4月编程语言排行榜:Lua接近TOP 10
- Oracle百万数据的分页查询和测试案例
- Java 核心学习——第四章
- C指针——原理与使用