嗨,大家好。
我试图使提取的长度和角度从折线(DWG)到亚搏在线XLS片的工作流。每个顶点表示极在那里我有信息块。我需要涉及与相应的顶点该块和表示其像“Pole01-Pole02(角度,Lenght); Pole02-Pole03(角度,Lenght)。
谁能给我一些有关此灯?
谢谢
我在实际工作昨天在C#中类似的东西,也许下面的代码将帮您计算。@takashi在说明该3个以后的坐标足以确定在第二角坐标,你可以用自己的方式为正确的。假设我们有6点坐标X1,Y1,X2,Y2,X3,Y3:
//确定线段作为载体。VAR = VX1 X2 - X1;VAR = VY1 Y2 - Y1;VAR = VX2 X3 - X2;VAR = VY2 Y3 - Y2;//计算向量长度。VAR lengthSegment1 = Math.Sqrt((VX1 * VX1)+(VY1 * VY1));VAR lengthSegment2 = Math.Sqrt((VX2 * VX2)+(VY2 * VY2));//两个向量之间的点积。VAR角= Math.Acos(((VX1 * VX2)+(VY1 * VY2))/(lengthSegment1 * lengthSegment2));//在NaN的两条线段是共线的发生。如果(double.IsNaN(角度)){返回0;} //交叉产物以确定线路点3的侧面是,相较于线P1,P2。VAR =左(VX1 *(Y3 - Y1)) - (VY1 *(×3 - X 1))> 0;回剩下什么?-angle:角度;
希望这有助于解决您的问题。需要注意的是,答案是弧度,不度。另外,不要忘记,如果你想各个角落的角度,你将需要添加第二个坐标后的最终的坐标,否则您将无法计算你的起点和终点。
感谢您的答复隆。您的解决方案的伟大工程,以提取所需的顶点。我还在工作所需的数学表达式。
假设每个顶点的角度可以基于关于线连续3个坐标(现有,中,后续的)来计算。这个数据流中提取3点坐标为每个顶点。
然后,计算的角度。虽然需要数学表达式可以根据“角”的定义是不同的,我认为它可以根据在任何情况下,连续3个坐标来计算。
你好
看着这个以前发布用户@gio。
大卫