54 lines
1.4 KiB
C#
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");
|
|
}
|
|
} |