C# 从原点出发画射线我想用代码实现从坐标原点(0,0),绘制一定角度的射线,如何去做?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 20:39:00
![C# 从原点出发画射线我想用代码实现从坐标原点(0,0),绘制一定角度的射线,如何去做?](/uploads/image/z/11690334-54-4.jpg?t=C%23+%E4%BB%8E%E5%8E%9F%E7%82%B9%E5%87%BA%E5%8F%91%E7%94%BB%E5%B0%84%E7%BA%BF%E6%88%91%E6%83%B3%E7%94%A8%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0%E4%BB%8E%E5%9D%90%E6%A0%87%E5%8E%9F%E7%82%B9%EF%BC%880%2C0%EF%BC%89%2C%E7%BB%98%E5%88%B6%E4%B8%80%E5%AE%9A%E8%A7%92%E5%BA%A6%E7%9A%84%E5%B0%84%E7%BA%BF%2C%E5%A6%82%E4%BD%95%E5%8E%BB%E5%81%9A%3F)
C# 从原点出发画射线我想用代码实现从坐标原点(0,0),绘制一定角度的射线,如何去做?
C# 从原点出发画射线
我想用代码实现从坐标原点(0,0),绘制一定角度的射线,如何去做?
C# 从原点出发画射线我想用代码实现从坐标原点(0,0),绘制一定角度的射线,如何去做?
public partial class Form1 : Form
{
private const int cnt = 15;//数量
private float angle = (float)(2 * Math.PI / cnt);
private const int R = 100;//长度
public Form1()
{
InitializeComponent();
this.Paint += this.Form1_Paint;
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
for (int n = 0; n < cnt; n++)
{
float a = n * angle;
Point ps = new Point(0, 0);
Point pe = new Point((int)(R * Math.Cos(a)), (int)(R * Math.Sin(a)));
Change(ref ps);
Change(ref pe);
e.Graphics.DrawLine(new Pen(Color.Red), ps, pe);
}
}
//转换坐标系
private void Change(ref Point p)
{
Size sz = this.ClientSize;
p.X += sz.Width / 2;
p.Y = sz.Height / 2 - p.Y;
}
}