Ric*_*hez 0 java processing geometry trigonometry
我需要帮助来计算 3D 空间中圆的切线,这是我到目前为止所拥有的


切线用蓝线表示,这是我从朋友那里得到的计算它们的方法
Vec3D getTangentBetweenTwoPoint( Vec3D p1, Vec3D p2 ) {
Vec3D r = new Vec3D( p1.x - p2.x,
p1.y - p2.y,
p1.z - p2.z );
r.normalize();
return r;
}
void getTangents() {
Vec3D p0, p1;
for ( int i = 1; i < curve_length + 1; i++ ) {
p0 = points[i % curve_length];
p1 = points[(i+1) % curve_length];
tangents[i % curve_length] = getTangentBetweenTwoPoint( p0, p1 );
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都感激不尽
基本上,您可以找到从需要切线的点到圆心的向量,并取该向量与圆法线的叉积(通过取圆的 2 个点加上圆心得到,结果为平面方程)。
如果对该叉积进行归一化,您将获得该点的法线/切线向量。
| 归档时间: |
|
| 查看次数: |
2146 次 |
| 最近记录: |