39 lines
1.5 KiB
C#
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();
|
|
|
|
|
|
}
|
|
}
|
|
}
|