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, double> sag_and_value = line.sag(); Matrix 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 line111swing=line111.swing(1.0*45/180*Math.PI); canvas.draw(line111swing); Ruler ruler = new Ruler(line.curve(), line111swing); Tuple closest_distance = ruler.closest_distance(); canvas.draw(closest_distance.Item2, closest_distance.Item3); canvas.save("abc.dxf"); Console.WriteLine(closest_distance.Item1); Console.ReadKey(); } } }