|
本帖最后由 NHY007 于 2023-5-25 00:28 编辑
根据楼上推导,使用数值算法可知,在原问题单位立方体中的四棱锥内,最大的内切球半径约为\(0.3317\),球心位置约为\([0.0050 \ 0.0101 \ 0.0050]\); 诚然,精度有限,并非最完美的解,只能说是接近的解。
附Matlab代码:
- clear; clc;
- N=200;
- x0=linspace(0,1,N);
- y0=x0; z0=x0;
- [xGrid,yGrid,zGrid]=ndgrid(x0,y0,z0);
- pos(:,1)=reshape(xGrid,[numel(xGrid),1]);
- pos(:,2)=reshape(yGrid,[numel(yGrid),1]);
- pos(:,3)=reshape(zGrid,[numel(zGrid),1]);
- d=[pos(:,3),-(pos(:,1)-1+pos(:,3)),1-pos(:,2),pos(:,1),pos(:,2)-pos(:,3)];
- rC=[];
- for index=1:5
- [rC1,~]=find(d(:,index)<=0);
- rC=[rC;rC1];
- end
- rC=unique(rC);
- pos(rC,:)=[];
- d(rC,:)=[];
- [dMin,dMinIndex]=min(d,[],2);
- pos=pos(dMinIndex,:);
- [dMinMax,I]=max(dMin)
- pos(I,:)
- plot(1:numel(dMin),dMin,'.');
- figure;
- scatter3(pos(:,1),pos(:,2),pos(:,3))
复制代码 |
|