【发布时间】:2015-06-24 13:29:03
【问题描述】:
我想计算由下式给出的向量在 R^3 中的交点 p + alpha * n 其中 x 是空间向量,n 是另一个向量,alpha 是要确定的标量。
表面由公式以解析形式给出
f(x,y) = [x, y, z(x,y)] 其中 z(x,y) 可以是任意非线性表面描述
我设置了一个线性化:
[n1 n2 n3 ] (d_alpha)= [p1 + alpha*n1 - x]
[-1 0 -dz(x,y)/dx] (d_x) = [p2 + alpha*n2 - y]
[ 0 -1 -dz(x,y)/dx] (d_y) = [p3 + alpha*n3 - z(x,y)]
并搜索以 alpha、x 和 y 的起始值进行迭代
但是,我似乎无法在这里收敛。知道我的错误在哪里吗?
提前致谢
【问题讨论】:
-
一个向量不相交它没有位置,它只有一个大小和一个方向。你的意思是你有一条与平面相交的线,还是你想把向量投影到平面上?
-
我的意思是与从 p 向 n 方向发出的线相交
-
直线是否可以多次与平面相交?
-
没有假定被排除在外的
-
猜猜你可以参数化该行并根据this解决它。您应该能够使用任何 matlab 方程求解器(例如
fzero或solve)求解方程。我想到的另一件事是旋转和平移表面,使线沿着某个轴(例如 x 轴)左右移动。这将为您提供一个其他变量为 0 的函数。
标签: matlab vector iteration intersection surface