Matlab 找到直线与凸面外壳接触的第一个点
首先,我使用Matlab函数绘制了给定点的凸包:Matlab 找到直线与凸面外壳接触的第一个点,matlab,line,convex-hull,Matlab,Line,Convex Hull,首先,我使用Matlab函数绘制了给定点的凸包: x = [4*rand(10,1)-2]; y = [rand(10,1)+5]; DT = delaunayTriangulation(x,y); C = convexHull(DT); plot(DT.Points(:,1),DT.Points(:,2),'.','MarkerSize',10) hold on plot(DT.Points(C,1),DT.Points(C,2),'r') 这个凸包只是一个例子,它可以是任何其他凸包。我们假
x = [4*rand(10,1)-2];
y = [rand(10,1)+5];
DT = delaunayTriangulation(x,y);
C = convexHull(DT);
plot(DT.Points(:,1),DT.Points(:,2),'.','MarkerSize',10)
hold on
plot(DT.Points(C,1),DT.Points(C,2),'r')
这个凸包只是一个例子,它可以是任何其他凸包。我们假设凸包在抛物线y=x^2
内
然后我想找到凸壳上的第一个点,当我们从a=1
开始时,它接触到线y=[(a^2+1)/a]x-1
,如果不接触凸壳(当凸壳在LHS上时),它可以一直到a=+\infty
如何做到这一点?我的最终目标是在图上找到a
对于多边形的每个角(x\u i,y\u i)
求解a\u i的二次方程
y_i*a_i=(a_i^2+1)*x_i-1
可以通过将点坐标放入直线方程中来获得方程。接下来,放弃与您无关的解决方案(a)