首页 / C# / C#旋转多边形(三角形)
C#旋转多边形(三角形)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#旋转多边形(三角形),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含898字,纯文字阅读大概需要2分钟。
内容图文
我有一个绘制多边形的方法,然后将该多边形向右旋转90度,使其原始顶点现在指向右侧.
这是绘制多边形(三角形)的代码,但是我怎么会失去如何旋转它.
Point[] points = new Point[3];
points[0] = new Point((int)top, (int)top);
points[1] = new Point((int)top - WIDTH / 2, (int)top + HEIGHT);
points[2] = new Point((int)top + WIDTH / 2, (int)top + HEIGHT);
paper.FillPolygon(normalBrush, points);
提前致谢.
解决方法:
有关旋转矩阵的详细说明,请参见this informative Wikipedia article.当旋转90度时,我们注意到cos 90折叠为零,产生以下简单变换,其中x’和y’是旋转坐标,x和y是前一个坐标.
x' = -y
y' = x
在您的示例中应用此简单替换产生以下代码.我还使用了速记集合初始化表达式来增加可读性.
var points = new[]
{
new Point(-(int) top, (int) top),
new Point((int) -(top + HEIGHT), (int) top - WIDTH/2),
new Point((int) -(top + HEIGHT), (int) top + WIDTH/2)
};
paper.FillPolygon(normalBrush, points);
我还建议使用例如Anton Rorres, et al读取线性代数.
内容总结
以上是互联网集市为您收集整理的C#旋转多边形(三角形)全部内容,希望文章能够帮你解决C#旋转多边形(三角形)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。