//lab2 private void CurveDrawButton_Click(object sender, EventArgs e) { int a = 0; if (val.CheckCurveParams(CurveATextBox.Text, ref a)) { ModelView.Image = new Bitmap(ModelView.Width, ModelView.Height); gridandaxis = new Drawing(); GetAxisAndGrid(); Types.Matrix matrix = new Types.Matrix(1, 0, 0, 0, 1, 0, 300, 250, 1); gridandaxis.Transform(matrix); DrawAxisAndGrid(); gridandaxis._x = 320; gridandaxis._y = 270; drawing = new Drawing(); curve = new Curve(); DrawCurve(a); } else { MessageBox.Show("Incorrect values", "Error"); } }
private void PrTransform_Click(object sender, EventArgs e) { ModelView.Image = new Bitmap(ModelView.Width, ModelView.Height); Graphics g = Graphics.FromImage(ModelView.Image); int x1 = Convert.ToInt32(PrRx1X.Text); int y1 = Convert.ToInt32(PrRx1Y.Text); int w1 = Convert.ToInt32(PrRx1w.Text); int x2 = Convert.ToInt32(PrRx2X.Text); int y2 = Convert.ToInt32(PrRx2Y.Text); int w2 = Convert.ToInt32(PrRx2w.Text); int x0 = Convert.ToInt32(PrOX.Text); int y0 = Convert.ToInt32(PrOY.Text); int w0 = Convert.ToInt32(PrOw.Text); Types.Matrix matrix = new Types.Matrix(x1 * w1, y1 * w1, w1, x2 * w2, y2 * w2, w2, x0 * w0, y0 * w0, w0); drawing.Transform(matrix); gridandaxis.Transform(matrix); curve.Transform(matrix); curve.Draw(g); DrawAxisAndGrid(); drawing.Draw(g); ModelView.Refresh(); }
private void RotatePointButton_Click(object sender, EventArgs e) { ModelView.Image = new Bitmap(ModelView.Width, ModelView.Height); Graphics g = Graphics.FromImage(ModelView.Image); DrawAxisAndGrid(); double angle = Convert.ToInt32(RtPtAng.Text) * Math.PI / 180; int x = Convert.ToInt32(RtPtX.Text); int y = Convert.ToInt32(RtPtY.Text); Types.Matrix matrix = new Types.Matrix(1, 0, 0, 0, 1, 0, -x, -y, 1); matrix = matrix.Multiple(new Types.Matrix(Math.Cos(angle), Math.Sin(angle), 0, -Math.Sin(angle), Math.Cos(angle), 0, 0, 0, 1)); matrix = matrix.Multiple(new Types.Matrix(1, 0, 0, 0, 1, 0, x, y, 1)); drawing.Transform(matrix); drawing.Draw(g); curve.Transform(matrix); curve.Draw(g); ModelView.Refresh(); }
private void button2_Click(object sender, EventArgs e)//ScaleButton { ModelView.Image = new Bitmap(ModelView.Width, ModelView.Height); Graphics g = Graphics.FromImage(ModelView.Image); Types.Matrix matrix = new Types.Matrix(Convert.ToDouble(ScX.Text), 0, 0, 0, Convert.ToDouble(ScY.Text), 0, 0, 0, 1); drawing.Transform(matrix); gridandaxis.Transform(matrix); curve.Transform(matrix); curve.Draw(g); DrawAxisAndGrid(); drawing.Draw(g); ModelView.Refresh(); }
private void TranslateButton_Click(object sender, EventArgs e) { ModelView.Image = new Bitmap(ModelView.Width, ModelView.Height); Graphics g = Graphics.FromImage(ModelView.Image); DrawAxisAndGrid(); int x = Convert.ToInt32(TrX.Text); int y = Convert.ToInt32(TrY.Text); Types.Matrix matrix = new Types.Matrix(1, 0, 0, 0, 1, 0, x, y, 1); drawing.Transform(matrix); drawing.Draw(g); curve.Transform(matrix); curve.Draw(g); ModelView.Refresh(); }
private void AffTransformButton_Click(object sender, EventArgs e) { ModelView.Image = new Bitmap(ModelView.Width, ModelView.Height); Graphics g = Graphics.FromImage(ModelView.Image); double x1 = Convert.ToInt32(AffRx1X.Text) / 50; double y1 = Convert.ToInt32(AffRx1Y.Text) / 50; double x2 = Convert.ToInt32(AffRx2X.Text) / 50; double y2 = Convert.ToInt32(AffRx2Y.Text) / 50; double x0 = Convert.ToInt32(AffOX.Text) / 50; double y0 = Convert.ToInt32(AffOY.Text) / 50; Types.Matrix matrix = new Types.Matrix(x1, y1, 0, x2, y2, 0, x0, y0, 1); drawing.Transform(matrix); gridandaxis.Transform(matrix); curve.Transform(matrix); curve.Draw(g); DrawAxisAndGrid(); drawing.Draw(g); ModelView.Refresh(); }