This commit is contained in:
Teochrome 2025-04-28 08:00:48 +03:00
commit c435c1d3aa
43 changed files with 783 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
.vs/Triangulation/v17/.suo Normal file

Binary file not shown.

25
Triangulation.sln Normal file
View 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
View 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
View 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
View 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
View 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());
}
}
}

View 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>

View 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>

View File

@ -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": ""
}
}
}

View File

@ -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
}
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -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.

View File

@ -0,0 +1 @@
4131e310c6dae9e41818c0504cf5fbac23a5d7cc84d9252ac325c557782b03cb

View File

@ -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 =

View File

@ -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;

View File

@ -0,0 +1 @@
d0facc65fcf86c69519e9da38e05b8253aa08ae47e42c0c3e85b690ce242283b

View File

@ -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

View File

@ -0,0 +1,11 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {}
},
"libraries": {}
}

View File

@ -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
}
}
}

View File

@ -0,0 +1 @@
d9c6949f5febaa885673cfa9afb2ff54f3fe4749c479e859cbc910fbd9f6d49a

Binary file not shown.

View 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"
}
}
}
}
}

View 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>

View 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" />

View 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"
}
}
}
}

View 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": []
}