final
This commit is contained in:
commit
c435c1d3aa
BIN
.vs/ProjectEvaluation/triangulation.metadata.v7.bin
Normal file
BIN
.vs/ProjectEvaluation/triangulation.metadata.v7.bin
Normal file
Binary file not shown.
BIN
.vs/ProjectEvaluation/triangulation.projects.v7.bin
Normal file
BIN
.vs/ProjectEvaluation/triangulation.projects.v7.bin
Normal file
Binary file not shown.
BIN
.vs/Triangulation/DesignTimeBuild/.dtbcache.v2
Normal file
BIN
.vs/Triangulation/DesignTimeBuild/.dtbcache.v2
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.vs/Triangulation/v17/.futdcache.v2
Normal file
BIN
.vs/Triangulation/v17/.futdcache.v2
Normal file
Binary file not shown.
BIN
.vs/Triangulation/v17/.suo
Normal file
BIN
.vs/Triangulation/v17/.suo
Normal file
Binary file not shown.
25
Triangulation.sln
Normal file
25
Triangulation.sln
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.8.34330.188
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Triangulation", "Triangulation\Triangulation.csproj", "{0F8B4C28-CD7D-4A5B-8C19-6A731CA00952}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0F8B4C28-CD7D-4A5B-8C19-6A731CA00952}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0F8B4C28-CD7D-4A5B-8C19-6A731CA00952}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0F8B4C28-CD7D-4A5B-8C19-6A731CA00952}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0F8B4C28-CD7D-4A5B-8C19-6A731CA00952}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {5F3AA4B1-3ED4-4BAA-ACF7-B9A037853173}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
39
Triangulation/Form1.Designer.cs
generated
Normal file
39
Triangulation/Form1.Designer.cs
generated
Normal file
@ -0,0 +1,39 @@
|
||||
namespace Triangulation
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Text = "Form1";
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
249
Triangulation/Form1.cs
Normal file
249
Triangulation/Form1.cs
Normal file
@ -0,0 +1,249 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Triangulation
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
private List<PointF> points = new List<PointF>(); // Ñïèñîê òî÷åê, ñ ïîìîùüþ êîòîðûõ ïðîèçâîäèòñÿ òðèàíãóëÿöèÿ
|
||||
private List<float> radii = new List<float>(); // Ñïèñîê ñ ðàäèóñàìè âñåõ âûøåê
|
||||
private PointF movingPoint = new PointF(200, 200); // Ïåðåìåùàåìàÿ òî÷êà
|
||||
private bool isDraggingMovingPoint = false; // Ïåðåìåííàÿ, ïîçâîëÿþùàÿ ïîíÿòü, ïåðåòàñêèâàåòñÿ â òåêóùèé ìîìåíò òî÷êà èëè íåò
|
||||
private int? selectedPointIndex = null; // Èíäåêñ âûáðàííîé òî÷êè äëÿ ïåðåòàñêèâàíèÿ
|
||||
private Random random = new Random(); // Ýêçåìïëÿð Random, èñïîëüçóþùèéñÿ äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë
|
||||
|
||||
public Form1()
|
||||
{
|
||||
points.Add(new PointF(100, 100)); // Íà÷àëüíàÿ òî÷êà A
|
||||
radii.Add(280f); // Ðàäèóñ äëÿ òî÷êè A
|
||||
|
||||
points.Add(new PointF(300, 100)); // Íà÷àëüíàÿ òî÷êà B
|
||||
radii.Add(300f); // Ðàäèóñ äëÿ òî÷êè B
|
||||
|
||||
points.Add(new PointF(200, 300)); // Íà÷àëüíàÿ òî÷êà C
|
||||
radii.Add(350f); // Ðàäèóñ äëÿ òî÷êè C
|
||||
|
||||
Button addButton = new Button() { Text = "Äîáàâèòü \n íîâóþ âûøêó", Location = new Point(450, 130), Width = 120, Height = 50}; // Êíîïêà, ðåàëèçóþùàÿ äîáàâëåíèå íîâîé âûøêè
|
||||
addButton.Click += (s, e) => AddNewTower(); // Ïðèâÿçêà ê ìåòîäó äîáàâëåíèÿ âûøêè ïðè íàæàòèè íà êíîïêó
|
||||
Controls.Add(addButton); // Äîáàâëåíèå êíîïêè íà ôîðìó
|
||||
|
||||
this.Text = "Ìîäåëü òðèàíãóëÿöèè"; // Çàãîëîâîê ôîðìû
|
||||
this.Size = new Size(600, 400); // Ðàçìåðû ôîðìû
|
||||
this.DoubleBuffered = true; // Ðåæèì äâîéíîé áóôåðèçàöèè, ÷òîáû èçáåæàòü ìåðöàíèÿ íà ýêðàíå âî âðåìÿ îáíîâëåíèÿ îêíà
|
||||
this.MouseDown += new MouseEventHandler(OnMouseDown); // Ïðèâÿçêà ñîáûòèÿ íàæàòèÿ ìûøè
|
||||
this.MouseMove += new MouseEventHandler(OnMouseMove); // Ïðèâÿçêà ñîáûòèÿ äâèæåíèÿ ìûøè
|
||||
this.MouseUp += new MouseEventHandler(OnMouseUp); // Ïðèâÿçêà ñîáûòèÿ îòïóñêàíèÿ êíîïêè ìûøè
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
DrawPoints(e.Graphics); // Îòðèñîâêà òî÷åê
|
||||
DrawTriangle(e.Graphics); // Îòðèñîâêà òðåóãîëüíèêà
|
||||
DrawSignalLevel(e.Graphics); // Îòðèñîâêà óðîâíÿ ñèãíàëà
|
||||
}
|
||||
|
||||
private void DrawPoints(Graphics g) // Îòðèñîâêà âñåõ òî÷åê è ðàäèóñà èõ ïîêðûòèÿ
|
||||
{
|
||||
for (int i = 0; i < points.Count; i++)
|
||||
{
|
||||
DrawCoverageArea(g, points[i], radii[i]); // Îáëàñòü ïîêðûòèÿ
|
||||
DrawPoint(g, points[i], i); // Ñàìà òî÷êà
|
||||
}
|
||||
|
||||
DrawMovingPoint(g, movingPoint);
|
||||
}
|
||||
|
||||
private void DrawCoverageArea(Graphics g, PointF point, float radius)
|
||||
{
|
||||
using (SolidBrush brush = new SolidBrush(Color.FromArgb(50, Color.Green))) // Îòðèñîâêà êðóãà, ïðåäñòàâëÿþùåãî îáëàñòü ïîêðûòèÿ äëÿ äàííîé òî÷êè
|
||||
{
|
||||
g.FillEllipse(brush, point.X - radius, point.Y - radius, radius * 2, radius * 2);
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawPoint(Graphics g, PointF point, int index) // Îòðèñîâêà âûøåê ñ èñïîëüçîâàíèåì äëÿ íèõ öâåòà íà îñíîâå óðîâíÿ ñèãíàëà
|
||||
{
|
||||
float signalStrength = GetSignalStrength(point, radii[index]);
|
||||
Color color = GetSignalColor(signalStrength, radii[index]); // Îïðåäåëåíèå óðîâíÿ ñèãíàëà äëÿ òî÷êè
|
||||
|
||||
using (SolidBrush brush = new SolidBrush(color))
|
||||
{
|
||||
g.FillEllipse(brush, point.X - 5, point.Y - 5, 10, 10);
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawMovingPoint(Graphics g, PointF point) // Îòðèñîâêà òî÷êè, êîîðäèíàòû êîòîðîé íåîáõîäèìî âû÷èñëèòü
|
||||
{
|
||||
using (SolidBrush brush = new SolidBrush(Color.Black))
|
||||
{
|
||||
g.FillEllipse(brush, point.X - 5, point.Y - 5, 10, 10);
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawTriangle(Graphics g)
|
||||
{
|
||||
using (Pen pen = new Pen(Color.Gray)) // Ðèñóåì ëèíèè ìåæäó òî÷êàìè, ñîçäàâàÿ òðåóãîëüíèê
|
||||
{
|
||||
for (int i = 0; i < points.Count; i++)
|
||||
{
|
||||
g.DrawLine(pen, points[i], points[(i + 1) % points.Count]); // Îòðèñîâêà ëèíèé
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawSignalLevel(Graphics g)
|
||||
{
|
||||
g.DrawString("Óðîâåíü ñèãíàëà âûøåê:", this.Font, Brushes.Black, new PointF(450, 50));
|
||||
|
||||
// Ïðîâåðêà íà îñíîâàíèè óðîâíÿ ñèãíàëà
|
||||
for (int i = 0; i < points.Count; i++)
|
||||
{
|
||||
float signalStrength = GetSignalStrength(points[i], radii[i]);
|
||||
Color signalColor = GetSignalColor(signalStrength, radii[i]);
|
||||
|
||||
// Îòîáðàæàåì óðîâåíü ñèãíàëà äëÿ êàæäîé òî÷êè
|
||||
using (SolidBrush brush = new SolidBrush(signalColor))
|
||||
{
|
||||
g.FillRectangle(brush, 450 + i * 30, 80, 20, 20);
|
||||
}
|
||||
}
|
||||
|
||||
// Ïðîâåðêà íà ïåðåñå÷åíèå çåëåíûõ êðóãîâ
|
||||
if (GetIntersectionCount(movingPoint) >= 3) // Ïåðåñå÷åíèå êðóãà äëÿ òð¸õ è áîëåå âûøåê
|
||||
{
|
||||
g.DrawString($"Êîîðäèíàòû òî÷êè - X: {movingPoint.X}, Y: {movingPoint.Y}", this.Font, Brushes.Black, new PointF(450, 110));
|
||||
}
|
||||
}
|
||||
|
||||
private Color GetSignalColor(float distance, float radius)
|
||||
{
|
||||
float halfRadius = radius / 2;
|
||||
|
||||
if (distance < halfRadius)
|
||||
return Color.Green; // Ñèãíàë ñèëüíûé (áëèæå ê òî÷êå)
|
||||
else if (distance < (float)(halfRadius + halfRadius * 0.5))
|
||||
return Color.Yellow; // Ñèãíàë ñðåäíèé (íà ñåðåäèíå ðàäèóñà)
|
||||
else if (distance < radius)
|
||||
return Color.Red; // Ñèãíàë ñëàáûé (âíå ðàäèóñà èëè ïî÷òè íà êîíöå îõâàòà ñèãíàëà)
|
||||
else
|
||||
return Color.Red;
|
||||
}
|
||||
|
||||
private float GetSignalStrength(PointF point, float radius) // Âîçâðàùàåò ðàññòîÿíèå äî ïåðåìåùàåìîé òî÷êè äëÿ îïðåäåëåíèÿ óðîâíÿ ñèãíàëà
|
||||
{
|
||||
float distanceToCenter = GetDistance(movingPoint, point);
|
||||
return distanceToCenter;
|
||||
}
|
||||
|
||||
private float GetDistance(PointF point1, PointF point2)
|
||||
{
|
||||
return (float)Math.Sqrt(Math.Pow(point2.X - point1.X, 2) + Math.Pow(point2.Y - point1.Y, 2)); // Âû÷èñëÿåì ðàññòîÿíèå ìåæäó äâóìÿ òî÷êàìè
|
||||
}
|
||||
|
||||
private void OnMouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
for (int i = 0; i < points.Count; i++)
|
||||
{
|
||||
if (IsPointHit(points[i], e.Location))
|
||||
{
|
||||
selectedPointIndex = i; // Çàïîìèíàåì èíäåêñ âûáðàííîé òî÷êè
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Åñëè íàæàòà ÷åðíàÿ òî÷êà äëÿ ïåðåìåùåíèÿ
|
||||
if (IsPointHit(movingPoint, e.Location))
|
||||
{
|
||||
isDraggingMovingPoint = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Ïåðåíîñ ÷åðíîé òî÷êè ïðè êëèêå
|
||||
movingPoint = e.Location;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnMouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (selectedPointIndex.HasValue && selectedPointIndex.Value >= 0)
|
||||
{
|
||||
// Ïåðåìåùåíèå âûáðàííîé òî÷êè
|
||||
points[selectedPointIndex.Value] = e.Location;
|
||||
}
|
||||
else if (isDraggingMovingPoint)
|
||||
{
|
||||
// Ïðîâåðÿåì, íàõîäèòñÿ ëè òî÷êà âíóòðè òðåóãîëüíèêà ïåðåä åå ïåðåìåùåíèåì
|
||||
if (IsInsideTriangle(e.Location))
|
||||
{
|
||||
movingPoint = e.Location; // Îáíîâëÿåì ìåñòîïîëîæåíèå
|
||||
}
|
||||
}
|
||||
|
||||
this.Invalidate(); // Redraw the form
|
||||
}
|
||||
|
||||
private void OnMouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
isDraggingMovingPoint = false;
|
||||
selectedPointIndex = null; // Ñáðîñ èíäåêñà âûáðàííîé òî÷êè
|
||||
}
|
||||
|
||||
private bool IsPointHit(PointF point, PointF mouseLocation)
|
||||
{
|
||||
return GetDistance(point, mouseLocation) < 10; // 10 is the hit radius
|
||||
}
|
||||
|
||||
private void AddNewTower()
|
||||
{
|
||||
// Äîáàâëÿåì íîâóþ âûøêó â öåíòð òðåóãîëüíèêà
|
||||
PointF newPoint = new PointF(
|
||||
(points[0].X + points[1].X + points[2].X) / 3,
|
||||
(points[0].Y + points[1].Y + points[2].Y) / 3
|
||||
);
|
||||
|
||||
points.Add(newPoint);
|
||||
// Äîáàâëÿåì ñëó÷àéíûé ðàäèóñ äëÿ âûøêè
|
||||
radii.Add(random.Next(400, 500)); // Èñïîëüçîâàíèå îáùåãî ýêçåìïëÿðà Random
|
||||
this.Invalidate(); // Îáíîâëÿåì ôîðìó
|
||||
}
|
||||
|
||||
private int GetIntersectionCount(PointF testPoint)
|
||||
{
|
||||
int count = 0; // Ñ÷åò÷èê äëÿ îïðåäåëåíèÿ êîëè÷åñòâà êðóãîâ, â êîòîðûå ïîïàäàåò òåñòîâàÿ òî÷êà
|
||||
foreach (var p in points)
|
||||
{
|
||||
if (GetDistance(testPoint, p) <= (radii[points.IndexOf(p)])) // Ïðîâåðêà íà ïîïàäàíèå â ðàäèóñ
|
||||
{
|
||||
count++; // Óâåëè÷èâàåì ñ÷åò÷èê
|
||||
}
|
||||
}
|
||||
return count; // Âîçâðàùàåì îáùåå êîëè÷åñòâî ïîïàäàíèé
|
||||
}
|
||||
|
||||
private float GetZValue(PointF point)
|
||||
{
|
||||
// Óäàëåíî
|
||||
return 0; // Çäåñü ìîæíî çàäàòü ëîãèêó âû÷èñëåíèÿ Z
|
||||
}
|
||||
|
||||
private bool IsInsideTriangle(PointF testPoint)
|
||||
{
|
||||
// Ïðîâåðÿåì, íàõîäèòñÿ ëè òî÷êà âíóòðè òðåóãîëüíèêà
|
||||
float area = Area(points[0], points[1], points[2]); // Îáùàÿ ïëîùàäü òðåóãîëüíèêà
|
||||
float area1 = Area(testPoint, points[1], points[2]); // Ïëîùàäü òðåóãîëüíèêà 1
|
||||
float area2 = Area(points[0], testPoint, points[2]); // Ïëîùàäü òðåóãîëüíèêà 2
|
||||
float area3 = Area(points[0], points[1], testPoint); // Ïëîùàäü òðåóãîëüíèêà 3
|
||||
|
||||
return Math.Abs(area - (area1 + area2 + area3)) < 0.01f; // Ñðàâíèâàåì ñ òî÷íîñòüþ äî 0.01
|
||||
}
|
||||
|
||||
private float Area(PointF a, PointF b, PointF c)
|
||||
{
|
||||
return Math.Abs((a.X * (b.Y - c.Y) + b.X * (c.Y - a.Y) + c.X * (a.Y - b.Y)) / 2.0f); // Âû÷èñëÿåì ïëîùàäü òðåóãîëüíèêà ïî ôîðìóëå
|
||||
}
|
||||
}
|
||||
}
|
120
Triangulation/Form1.resx
Normal file
120
Triangulation/Form1.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
17
Triangulation/Program.cs
Normal file
17
Triangulation/Program.cs
Normal file
@ -0,0 +1,17 @@
|
||||
namespace Triangulation
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
// To customize application configuration such as set high DPI settings or default font,
|
||||
// see https://aka.ms/applicationconfiguration.
|
||||
ApplicationConfiguration.Initialize();
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
11
Triangulation/Triangulation.csproj
Normal file
11
Triangulation/Triangulation.csproj
Normal file
@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
8
Triangulation/Triangulation.csproj.user
Normal file
8
Triangulation/Triangulation.csproj.user
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Compile Update="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"Triangulation/1.0.0": {
|
||||
"runtime": {
|
||||
"Triangulation.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"Triangulation/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
BIN
Triangulation/bin/Debug/net8.0-windows/Triangulation.dll
Normal file
BIN
Triangulation/bin/Debug/net8.0-windows/Triangulation.dll
Normal file
Binary file not shown.
BIN
Triangulation/bin/Debug/net8.0-windows/Triangulation.exe
Normal file
BIN
Triangulation/bin/Debug/net8.0-windows/Triangulation.exe
Normal file
Binary file not shown.
BIN
Triangulation/bin/Debug/net8.0-windows/Triangulation.pdb
Normal file
BIN
Triangulation/bin/Debug/net8.0-windows/Triangulation.pdb
Normal file
Binary file not shown.
@ -0,0 +1,18 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.WindowsDesktop.App",
|
||||
"version": "8.0.0"
|
||||
}
|
||||
],
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
@ -0,0 +1,25 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Этот код создан программой.
|
||||
// Исполняемая версия:4.0.30319.42000
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Triangulation")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("Triangulation")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("Triangulation")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
|
||||
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
|
||||
|
||||
// Создано классом WriteCodeFragment MSBuild.
|
||||
|
@ -0,0 +1 @@
|
||||
4131e310c6dae9e41818c0504cf5fbac23a5d7cc84d9252ac325c557782b03cb
|
Binary file not shown.
@ -0,0 +1,19 @@
|
||||
is_global = true
|
||||
build_property.ApplicationManifest =
|
||||
build_property.StartupObject =
|
||||
build_property.ApplicationDefaultFont =
|
||||
build_property.ApplicationHighDpiMode =
|
||||
build_property.ApplicationUseCompatibleTextRendering =
|
||||
build_property.ApplicationVisualStyles =
|
||||
build_property.TargetFramework = net8.0-windows
|
||||
build_property.TargetPlatformMinVersion = 7.0
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = Triangulation
|
||||
build_property.ProjectDir = C:\Users\alexa\source\repos\Triangulation\Triangulation\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
@ -0,0 +1,10 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.Drawing;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
global using global::System.Windows.Forms;
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
d0facc65fcf86c69519e9da38e05b8253aa08ae47e42c0c3e85b690ce242283b
|
@ -0,0 +1,16 @@
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.csproj.GenerateResource.cache
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.AssemblyInfoInputs.cache
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.AssemblyInfo.cs
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.csproj.CoreCompileInputs.cache
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.Form1.resources
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\bin\Debug\net8.0-windows\Triangulation.exe
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\bin\Debug\net8.0-windows\Triangulation.deps.json
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\bin\Debug\net8.0-windows\Triangulation.runtimeconfig.json
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\bin\Debug\net8.0-windows\Triangulation.dll
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\bin\Debug\net8.0-windows\Triangulation.pdb
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.dll
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\refint\Triangulation.dll
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.pdb
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\Triangulation.genruntimeconfig.cache
|
||||
C:\Users\alexa\source\repos\Triangulation\Triangulation\obj\Debug\net8.0-windows\ref\Triangulation.dll
|
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {}
|
||||
},
|
||||
"libraries": {}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.WindowsDesktop.App",
|
||||
"version": "8.0.0"
|
||||
}
|
||||
],
|
||||
"additionalProbingPaths": [
|
||||
"C:\\Users\\alexa\\.dotnet\\store\\|arch|\\|tfm|",
|
||||
"C:\\Users\\alexa\\.nuget\\packages"
|
||||
],
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
|
||||
"Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
|
||||
}
|
||||
}
|
||||
}
|
BIN
Triangulation/obj/Debug/net8.0-windows/Triangulation.dll
Normal file
BIN
Triangulation/obj/Debug/net8.0-windows/Triangulation.dll
Normal file
Binary file not shown.
@ -0,0 +1 @@
|
||||
d9c6949f5febaa885673cfa9afb2ff54f3fe4749c479e859cbc910fbd9f6d49a
|
BIN
Triangulation/obj/Debug/net8.0-windows/Triangulation.pdb
Normal file
BIN
Triangulation/obj/Debug/net8.0-windows/Triangulation.pdb
Normal file
Binary file not shown.
BIN
Triangulation/obj/Debug/net8.0-windows/apphost.exe
Normal file
BIN
Triangulation/obj/Debug/net8.0-windows/apphost.exe
Normal file
Binary file not shown.
BIN
Triangulation/obj/Debug/net8.0-windows/ref/Triangulation.dll
Normal file
BIN
Triangulation/obj/Debug/net8.0-windows/ref/Triangulation.dll
Normal file
Binary file not shown.
BIN
Triangulation/obj/Debug/net8.0-windows/refint/Triangulation.dll
Normal file
BIN
Triangulation/obj/Debug/net8.0-windows/refint/Triangulation.dll
Normal file
Binary file not shown.
66
Triangulation/obj/Triangulation.csproj.nuget.dgspec.json
Normal file
66
Triangulation/obj/Triangulation.csproj.nuget.dgspec.json
Normal file
@ -0,0 +1,66 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\Triangulation.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\Triangulation.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\Triangulation.csproj",
|
||||
"projectName": "Triangulation",
|
||||
"projectPath": "C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\Triangulation.csproj",
|
||||
"packagesPath": "C:\\Users\\alexa\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\alexa\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net8.0-windows"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0-windows7.0": {
|
||||
"targetAlias": "net8.0-windows",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0-windows7.0": {
|
||||
"targetAlias": "net8.0-windows",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
},
|
||||
"Microsoft.WindowsDesktop.App.WindowsForms": {
|
||||
"privateAssets": "none"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.101/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
15
Triangulation/obj/Triangulation.csproj.nuget.g.props
Normal file
15
Triangulation/obj/Triangulation.csproj.nuget.g.props
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\alexa\.nuget\packages\</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\alexa\.nuget\packages\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
2
Triangulation/obj/Triangulation.csproj.nuget.g.targets
Normal file
2
Triangulation/obj/Triangulation.csproj.nuget.g.targets
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
71
Triangulation/obj/project.assets.json
Normal file
71
Triangulation/obj/project.assets.json
Normal file
@ -0,0 +1,71 @@
|
||||
{
|
||||
"version": 3,
|
||||
"targets": {
|
||||
"net8.0-windows7.0": {}
|
||||
},
|
||||
"libraries": {},
|
||||
"projectFileDependencyGroups": {
|
||||
"net8.0-windows7.0": []
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\alexa\\.nuget\\packages\\": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\Triangulation.csproj",
|
||||
"projectName": "Triangulation",
|
||||
"projectPath": "C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\Triangulation.csproj",
|
||||
"packagesPath": "C:\\Users\\alexa\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\alexa\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net8.0-windows"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0-windows7.0": {
|
||||
"targetAlias": "net8.0-windows",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0-windows7.0": {
|
||||
"targetAlias": "net8.0-windows",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
},
|
||||
"Microsoft.WindowsDesktop.App.WindowsForms": {
|
||||
"privateAssets": "none"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.101/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
8
Triangulation/obj/project.nuget.cache
Normal file
8
Triangulation/obj/project.nuget.cache
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "iJlX/3CHN828Ydl6gpK2sL8pd+4wvTzl5aKe8k5RSttHja/5T8JNF7aSU2YPfogHlR7FXfus83FE4WKa0FmFcA==",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\Users\\alexa\\source\\repos\\Triangulation\\Triangulation\\Triangulation.csproj",
|
||||
"expectedPackageFiles": [],
|
||||
"logs": []
|
||||
}
|
Loading…
Reference in New Issue
Block a user