求助,极坐标转换为平面直角坐标,连点描线,哪儿出错了呢 ?
坐标系平移(400,400)
Graphics gr = this.CreateGraphics();
Pen pen = new Pen(Color.Red, 1);
int o1 = int.Parse(textBox1.Text); int r1 = int.Parse(textBox2.Text);
int o2 = int.Parse(textBox3.Text); int r2 = int.Parse(textBox4.Text);
int o3 = int.Parse(textBox5.Text); int r3 = int.Parse(textBox6.Text);
int o4 = int.Parse(textBox7.Text); int r4 = int.Parse(textBox8.Text);
Point pt1 = new Point(400 + Convert.ToInt32(Math.Cos(o1) * r1), 400 + Convert.ToInt32(Math.Sin(o1) * r1)); //设置节点
Point pt2 = new Point(400 + Convert.ToInt32(Math.Cos(o1) * r1), 400 + Convert.ToInt32(Math.Sin(o1) * r1)); //设置节点
Point pt3 = new Point(400 + Convert.ToInt32(Math.Cos(o3) * r3), 400 + Convert.ToInt32(Math.Sin(o3) * r3)); //设置节点
Point pt4 = new Point(400 + Convert.ToInt32(Math.Cos(o4) * r4), 400 + Convert.ToInt32(Math.Sin(o4) * r4)); Point[] pts = { pt1, pt2, pt3, pt4 }; gr.DrawPolygon(pen, pts);
坐标系平移(400,400)
Graphics gr = this.CreateGraphics();
Pen pen = new Pen(Color.Red, 1);
int o1 = int.Parse(textBox1.Text); int r1 = int.Parse(textBox2.Text);
int o2 = int.Parse(textBox3.Text); int r2 = int.Parse(textBox4.Text);
int o3 = int.Parse(textBox5.Text); int r3 = int.Parse(textBox6.Text);
int o4 = int.Parse(textBox7.Text); int r4 = int.Parse(textBox8.Text);
Point pt1 = new Point(400 + Convert.ToInt32(Math.Cos(o1) * r1), 400 + Convert.ToInt32(Math.Sin(o1) * r1)); //设置节点
Point pt2 = new Point(400 + Convert.ToInt32(Math.Cos(o1) * r1), 400 + Convert.ToInt32(Math.Sin(o1) * r1)); //设置节点
Point pt3 = new Point(400 + Convert.ToInt32(Math.Cos(o3) * r3), 400 + Convert.ToInt32(Math.Sin(o3) * r3)); //设置节点
Point pt4 = new Point(400 + Convert.ToInt32(Math.Cos(o4) * r4), 400 + Convert.ToInt32(Math.Sin(o4) * r4)); Point[] pts = { pt1, pt2, pt3, pt4 }; gr.DrawPolygon(pen, pts);
直角坐标系到极坐标系转换:
ρ=sqrt(x*x+y*y)
θ=atan(y/x)
极坐标系到直角坐标系转换:
x=ρ*cos(θ)
y=ρ*sin(θ)
极坐标系旋转:
θ+=α
直角坐标系平移:
x+=a
y+=b