海龟迷途部分图形

This commit is contained in:
艾竹
2023-05-16 22:53:11 +08:00
parent 65e18759c9
commit 9e8981176a
2 changed files with 76 additions and 10 deletions

View File

@@ -28,16 +28,14 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 100);
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = false;
DiagramViewModel.DiagramOption.LayoutOption.AllowDrop = true;
_service.DrawModeViewModel.DrawingDrawModeSelected = true;
_service.DrawModeViewModel.DrawingDrawMode = DrawMode.Select;
}
protected override void Init(bool initNew)
{
DiagramViewModels = new ObservableCollection<IDiagramViewModel>()
{
GetDiagramViewModel("页-1", DiagramType, initNew),
};
DiagramViewModel = DiagramViewModels.FirstOrDefault();
base.Init(initNew);
DesignerItemViewModelBase line = new LineDrawingDesignerItemViewModel(DiagramViewModel, new List<Point> { new Point(38, 38), new Point(118, 118) }, true);
DiagramViewModel.Add(line);
@@ -91,7 +89,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
DiagramViewModel.Add(close);
DesignerItemViewModelBase heart = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableHeart, new List<Point> { new Point(138, 238), new Point(218, 318) }, true);
DiagramViewModel.Add(heart);
DiagramViewModel.Add(heart);
DesignerItemViewModelBase polyline = new PolylineDrawingDesignerItemViewModel(DiagramViewModel, new List<Point> { new Point(238, 238), new Point(298, 258), new Point(258, 298), new Point(318, 318) }, true);
DiagramViewModel.Add(polyline);
@@ -100,19 +98,84 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
DiagramViewModel.Add(polygon);
//画正方形
var drawingPoint1 = DrawingHelper.GetPoints(new Point(38, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(80, 90), 4).ToList());
var drawingPoint1 = DrawingHelper.GetPoints(new Point(38, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, 90), 4).ToList());
DesignerItemViewModelBase directLine1 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint1, true);
DiagramViewModel.Add(directLine1);
//画三角形
var drawingPoint2 = DrawingHelper.GetPoints(new Point(138, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(80, 120), 3).ToList());
var drawingPoint2 = DrawingHelper.GetPoints(new Point(238, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, 120), 3).ToList());
DesignerItemViewModelBase directLine2 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint2, true);
DiagramViewModel.Add(directLine2);
//画五边形
var drawingPoint3 = DrawingHelper.GetPoints(new Point(238, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(100, 72), 5).ToList());
var drawingPoint3 = DrawingHelper.GetPoints(new Point(438, 338), 0, Enumerable.Repeat(new System.Tuple<double, double>(100, 72), 5).ToList());
DesignerItemViewModelBase directLine3 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint3, true);
DiagramViewModel.Add(directLine3);
//画六角形
List<System.Tuple<double, double>> tuple4 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 5; i++)
{
tuple4.Add(new System.Tuple<double, double>(70, -144));
tuple4.Add(new System.Tuple<double, double>(70, 72));
}
var drawingPoint4 = DrawingHelper.GetPoints(new Point(638, 338), 0, tuple4);
DesignerItemViewModelBase directLine4 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint4, true);
DiagramViewModel.Add(directLine4);
//画八边形
List<System.Tuple<double, double>> tuple5 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 8; i++)
{
tuple5.Add(new System.Tuple<double, double>(30, 90));
tuple5.Add(new System.Tuple<double, double>(30, -45));
}
var drawingPoint5 = DrawingHelper.GetPoints(new Point(38, 538), 0, tuple5);
DesignerItemViewModelBase directLine5 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint5, true);
DiagramViewModel.Add(directLine5);
//画6个正三角形
List<System.Tuple<double, double>> tuple6 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 3; j++)
{
tuple6.Add(new System.Tuple<double, double>(80, 120));
}
tuple6.Add(new System.Tuple<double, double>(0, 60));
}
var drawingPoint6 = DrawingHelper.GetPoints(new Point(238, 538), 0, tuple6);
DesignerItemViewModelBase directLine6 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint6, true);
DiagramViewModel.Add(directLine6);
//画6个正六边形
List<System.Tuple<double, double>> tuple7 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
tuple7.Add(new System.Tuple<double, double>(42, 60));
}
tuple7.Add(new System.Tuple<double, double>(0, 60));
}
var drawingPoint7 = DrawingHelper.GetPoints(new Point(438, 538), 0, tuple7);
DesignerItemViewModelBase directLine7 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint7, true);
DiagramViewModel.Add(directLine7);
//画8个八角星
List<System.Tuple<double, double>> tuple8 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
tuple8.Add(new System.Tuple<double, double>(20, 90));
tuple8.Add(new System.Tuple<double, double>(20, -45));
}
tuple8.Add(new System.Tuple<double, double>(0, 45));
}
var drawingPoint8 = DrawingHelper.GetPoints(new Point(638, 538), 0, tuple8);
DesignerItemViewModelBase directLine8 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint8, true);
DiagramViewModel.Add(directLine8);
}
public override void Dispose()