MATLAB将二维平面图形显示在三维球面上(warp)
的有关信息介绍如下:
本文首先通过sphere(50)创建一个球形矩阵,然后通过imread( )读取默认路径下的二维平面照片,最后通过warp(x,y,z,image)在三维球面上显示二维平面图形。
第一,准备一张二维平面图,放在MATLAB默认路径下。
第二,启动MATLAB,新建脚本(Ctrl+N),输入如下三行代码:
[x,y,z]=sphere(50);
A=imread('navy.JPG');
B=warp(x,y,-z,A)
就这三行,多了不需要。第一行sphere(50)创建一个球形矩阵,第二行imread( )读取默认路径下的二维平面照片,第三行warp( )将二维平面图显示在三维球形上。
第三,保存和运行上述脚本,得到如下图形,二维平面图显示在了三维球面上。
第四,为了能够反复运行脚本、去掉坐标和让图形更美观,可以对上述三行脚本进行改进。改进后的脚本如下:
close all; clear all; clc
[x,y,z]=sphere(50);、
A=imread('navy.JPG');
B=warp(x,y,-z,A)
axis equal; axis off;、
set(gcf,'position',[50,50,700,600],'color','white')
set(gca,'position',[0.01,0.01,1,1])
第五,保存和运行上述改进后的脚本,得到如下更加美观的图形。
第六,如果要发圈,可将得到的图形用ps处理(当然MATLAB本身也可处理),处理成400x392像素格式,这样效果会很好。



