TransmissionGraphic/Program.cs

39 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TransmissionGraphic.Graphic;
using TransmissionGraphic.Type3D;
using MathNet.Numerics.LinearAlgebra;
namespace TransmissionGraphic
{
class Program
{
static void Main(string[] args)
{
Canvas canvas = new Canvas();
canvas.init_canvas();
Line line = new Line(new TGVector3D(10, 20, 10), new TGVector3D(400, 25, 35), 0.32e-3, 400);
canvas.draw(line.curve());
Tuple<Matrix<double>, double> sag_and_value = line.sag();
Matrix<double> sag_points = sag_and_value.Item1;
double sag_value = sag_and_value.Item2;
canvas.draw(sag_points);
canvas.text(String.Format("sag:{0}",sag_value), new TGVector3D(sag_points.At(1,0),sag_points.At(1,1),sag_points.At(1,2)));
canvas.draw(line.swing(1.0*90 / 180 * Math.PI));
Line line111 =new Line(new TGVector3D(50, 30, 0), new TGVector3D(430, 90, 1), 0.35 * 1e-3, 800);
Matrix<double> line111swing=line111.swing(1.0*45/180*Math.PI);
canvas.draw(line111swing);
Ruler ruler = new Ruler(line.curve(), line111swing);
Tuple<double, TGVector3D, TGVector3D> closest_distance = ruler.closest_distance();
canvas.draw(closest_distance.Item2, closest_distance.Item3);
canvas.save("abc.dxf");
Console.WriteLine(closest_distance.Item1);
Console.ReadKey();
}
}
}