我可以从Arc获得一些信息。
如何获得FirstPoint& LastPoint的切线方向Vector?
我想从两个方向矢量得到一个交点。
我在FreeCAD工作。
答案 0 :(得分:1)
我们需要更多的信息才能给出一个好的答案,但这是第一次尝试,之后会有问题。
近似切向量的一种方法是使用割线向量:如果曲线是参数化地给定为t的函数,并且您希望切线位于t_0,则选择一些小数e;评估t_0 + e和t_0-e处的函数;然后减去两个结果以得到割线矢量。如果你的曲线在t周围的那个区间内不是太弯曲,那么它将是切线向量的一个很好的近似值。
现在提出问题。你的问题与Python有什么关系,FreeCAD在哪里?您已经在FreeCAD中构建了曲线,并且想要在Python中计算切线?你能说一下关于曲线的事吗,比如它是否是一个三次样条曲线,它是否只在一个方向上弯曲,你的意思是“中心”和“轴”? (具有切向量的任意曲线不一定是三次样条曲线,可能以非常复杂的方式弯曲,并且没有任何中心或轴的概念。)
答案 1 :(得分:1)
从A
到B
的圆弧,中心为M
,法线向量为N
。
切线方向可以通过叉积获得。
A
:N x (A-M)
B
:(B-M) x N
两者都对应于围绕轴N
的半径矢量的90DEG或-90DEG的旋转
答案 2 :(得分:0)
s.Curve
Circle (Radius : 1, Position : (0.335157, 11.988, 5.55452), Direction : (-0.914329, -0.257151, 0.312851))
s.Vertex1.Point #FirstPoint
Vector (0.7393506936636021, 11.360676836326173, 6.220155663200929)
s.Vertex2.Point #LastPoint
Vector (0.3602513339713556, 12.723079925995924, 6.232050903393676)
s.Curve.FirstParameter
0.0
s.Curve.LastParameter
6.283185307179586
这是一个简单的弧。