您的位置首页生活百科

MATLAB将二维平面图形显示在三维球面上(warp)

MATLAB将二维平面图形显示在三维球面上(warp)

的有关信息介绍如下:

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像素格式,这样效果会很好。