常见的photoshop(其实只是视觉感觉是变成了球面,实际输出还是2维图象)
3Dmax(把2维平面图贴到球面实体上,是3维输出的)
如何用Matlab在球面画出一个可见点?
首先,我们用sphere球函数计算绘出单位球的【x,y,z】数据;
其二,根据球半径r,计算球半径为r的【x,y,z】数据;
其三,使用surf函数绘制其球面。
最后,用hold on命令和plot3函数将球面上的一个点【x1,y1,z1】绘制在图像上。
实现代码:
[X,Y,Z] = sphere %用于绘出单位球的【x,y,z】数据
r = 5 %球半径
X2 = X * r
Y2 = Y * r
Z2 = Z * r
surf(X2,Y2,Z2) %球半径为r = 5的球面
hold on %在同一图像增加其他图形
plot3(-3.5355,-3.5355,0.7822,'rp') %绘制球面上的一个点
axis equal
xlabel('x'),ylabel('y'),zlabel('z')
执行结果
1、画出线条;2、在线条上做圆形选区;3、滤镜-扭曲-球面化.就OK了~
如果是人像或动物处理的话,先将图像文件打开,把图像裁剪成正方形,复制图层。然后把它的透视改变一下(ctrl+T),改成上宽下窄。
滤镜——扭曲——球面化(数量100%),一般还是不够的,所有要再球面化一次,这次25%就好了!(效果以后,图像部分位置会被虚掉了,所有可以锐化一下)
用椭圆选框工具按住shift画出正圆,把刚刚效果的部分框住,然后反选(ctrl+shift+I),填充黑色(因为黑色就比较像是鱼眼镜头拍出来的,当然大家也可以发挥创意画上其他颜色啦!)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)