如何获得 Python 中的切线方向矢量?
How can I get Tangential direction Vector in Python?
我可以从 Arc 中获取一些信息。
- 第一点 ∀ [x, y, z]
- LastPoint ‹ [x, y, z]
- 居中[x,y,z]
- Axis [x, y, z] #垂直于平面
如何获取FirstPoint&LastPoint的切向向量?
我想从两个方向向量中得到一个交点。
我在 FreeCAD 工作。
我们需要更多信息才能给出一个好的答案,但这是第一次尝试,后面还有问题。
近似切向量的一种方法是使用正割向量:如果您的曲线作为 t 的函数以参数方式给出,并且您希望切线位于 t_0,则选择一些较小的数字 e;在 t_0 + e 和 t_0 - e 处计算函数;然后将两个结果相减得到正割向量。如果您的曲线在 t 附近的区间内不太弯曲,这将是切线向量的一个很好的近似值。
现在开始提问。您的问题与 Python 有什么关系,FreeCAD 的作用在哪里?您已经在 FreeCAD 中构建了曲线,并且您想在 Python 中计算切线?你能说说曲线吗,比如它是否是三次样条曲线,它是否只在一个方向上弯曲,你所说的 "center" 和 "axis" 是什么意思? (具有切线向量的任意曲线不一定是三次样条曲线,可能以非常复杂的方式弯曲,并且没有任何中心或轴的概念。)
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.第一个参数
0.0
s.Curve.最后一个参数
6.283185307179586
这是一个简单的弧线。
从 A
到 B
的圆弧,圆心 M
和法向量 N
。
切线方向可以通过叉积得到。
- 在
A
处的切线:N x (A-M)
- 在
B
处的切线:(B-M) x N
两者都对应于半径矢量绕轴旋转 90° 或 -90° N
我可以从 Arc 中获取一些信息。
- 第一点 ∀ [x, y, z]
- LastPoint ‹ [x, y, z]
- 居中[x,y,z]
- Axis [x, y, z] #垂直于平面
如何获取FirstPoint&LastPoint的切向向量?
我想从两个方向向量中得到一个交点。
我在 FreeCAD 工作。
我们需要更多信息才能给出一个好的答案,但这是第一次尝试,后面还有问题。
近似切向量的一种方法是使用正割向量:如果您的曲线作为 t 的函数以参数方式给出,并且您希望切线位于 t_0,则选择一些较小的数字 e;在 t_0 + e 和 t_0 - e 处计算函数;然后将两个结果相减得到正割向量。如果您的曲线在 t 附近的区间内不太弯曲,这将是切线向量的一个很好的近似值。
现在开始提问。您的问题与 Python 有什么关系,FreeCAD 的作用在哪里?您已经在 FreeCAD 中构建了曲线,并且您想在 Python 中计算切线?你能说说曲线吗,比如它是否是三次样条曲线,它是否只在一个方向上弯曲,你所说的 "center" 和 "axis" 是什么意思? (具有切线向量的任意曲线不一定是三次样条曲线,可能以非常复杂的方式弯曲,并且没有任何中心或轴的概念。)
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.第一个参数
0.0
s.Curve.最后一个参数
6.283185307179586
这是一个简单的弧线。
从 A
到 B
的圆弧,圆心 M
和法向量 N
。
切线方向可以通过叉积得到。
- 在
A
处的切线:N x (A-M)
- 在
B
处的切线:(B-M) x N
两者都对应于半径矢量绕轴旋转 90° 或 -90° N