2DLightPathSimulator/ImplementationTest/Program.cs

54 lines
1.4 KiB
C#

// See https://aka.ms/new-console-template for more information
using System.Diagnostics;
using LensSimulatorCore.Optical;
using LensSimulatorCore.Shapes;
namespace ImplementationTest;
internal class Program
{
static void Main(string[] args)
{
var ellipse = new Ellipse(-0.6,1.8,1.4,new Point(2.1,-0.5));
var resultEllipse = ellipse.GetIntersectionPoints(new Line(3.7, 2.8));
var circle = new Circle(1.4, new Point(2.1, -0.5));
var resultCircle = circle.GetIntersectionPoints(new Line(3.7, 2.8));
var ListOfPointsOnCircle = (double n) =>
{
List<Point> points = new List<Point>();
for (int i = 0; i < n; i++)
{
var radians = Math.PI * 2 / n * i;
var x = Math.Cos(radians);
var y = Math.Sin(radians);
points.Add(new Point(x, y));
}
return points;
};
var test = ListOfPointsOnCircle(8);
var sellmeier = new SellmeierCoefficients(1.03961212, 0.00600069867, 0.231792344, 0.0200179144, 0, 103);
var material = new Material(sellmeier);
var s = new Stopwatch(); s.Start();
var reflectivity = material.Reflectivity(45, 1.00027717, 450);
var transmissivity = material.Transmissivity(45, 1.00027717, 450);
s.Stop();
var time = s.ElapsedMilliseconds;
Console.Write("F");
}
}