private void Timer1_Tick(object sender, EventArgs e) { renderTarget.BeginDraw(); renderTarget.Clear(new RawColor4(1, 1, 1, 1)); //renderTarget.DrawGeometry(path, brush); //foreach (var point in points) // renderTarget.DrawLine(point, new RawVector2(point.X+4,point.Y+4), red, 4); for (int i = 0; i < line.rads.Count; i++) { Ellipse ellipse = new Ellipse(new RawVector2(line.points[i].X, line.points[i].Y), line.rads[i], line.rads[i]); renderTarget.DrawEllipse(ellipse, brush); } PathGeometry path = new PathGeometry(factory); path.FromPoints(contour, line.interpolatedNormals, true); renderTarget.FillGeometry(path, blue); path.Dispose(); for (int i = 0; i < contour.Length; i++) { renderTarget.FillEllipse(new Ellipse(new RawVector2(contour[i].X, contour[i].Y), 1, 1), red); } KVector2 a = new KVector2(200, 200); KVector2 a1 = new KVector2(100, 50); KVector2 a2 = a1.Orthogonal; renderTarget.DrawLine(new RawVector2(a.X, a.Y), new RawVector2(a.X + a1.X, a.Y + a1.Y), red); renderTarget.DrawLine(new RawVector2(a.X, a.Y), new RawVector2(a.X + a2.X, a.Y + a2.Y), brush); renderTarget.EndDraw(); }