MATLAB quiver3 colormap
我在MATLAB上有一个quiver3绘图,其代码和绘图如下,并且我希望这些线在接近中心点(即青蓝色)时具有颜色变化,以便可以显示它们到中心的距离。 知道我该怎么做吗? 非常感谢!
1 2 3 4 5 6 7 8 9 10 | hold on; grid on; scatter3(frame_cur.xyz_cam(1,:),frame_cur.xyz_cam(2,:),frame_cur.xyz_cam(3,:),'MarkerFaceColor',[0 .75 .75]); quiver3(frameGT_cur.xyz_cam(1,:), ... frameGT_cur.xyz_cam(2,:), ... frameGT_cur.xyz_cam(3,:), ... C(1,:)-frame_cur.xyz_cam(1,:), ... C(2,:)-frame_cur.xyz_cam(2,:), ... C(3,:)-frame_cur.xyz_cam(3,:), ... 0,'b','ShowArrowHead','off');* |
它没有使用
我使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | % generate random 3D points n = 10; x = 2*rand(n,1)-1; y = 2*rand(n,1)-1; z = 2*rand(n,1)-1; % the color is the distance of each point c = sqrt(x.^2 + y.^2 + z.^2); % plot the points scatter3(x,y,z,40,c,'filled'); hold on % add zeros (the center point) between points xx = [zeros(1,numel(x));x(:)'];xx = xx(:); yy = [zeros(1,numel(y));y(:)'];yy = yy(:); zz = [zeros(1,numel(z));z(:)'];zz = zz(:); cc = [zeros(1,numel(c));c(:)'];cc = cc(:); % plot the lines h = surf([xx,xx],[yy,yy],[zz,zz],[cc,cc],... 'FaceColor','none','EdgeColor','interp','LineWidth',1); colorbar; |