灯光设置(light)

clc;
clear all;
close all;
%% 台灯的设置
figure('color','k')
% 底座
fill3([0 1 1 0],[0 0 1 1],[0 0 0 0],'b',...
[1 1 1 1],[0 0 1 1],[0 0.5 0.5 0],'b',...
[1 1 0 0],[0 1 1 0],[0.5 0.5 0.5 0.5],'g',...
[0 1 1 0],[1 1 1 1],[0 0 0.5 0.5],'b');
grid on
hold on
% x = '.1*cos(t) + 0.2';
% y = '.1*sin(t) + 0.5';
% z = 's';
% ezmesh(x ,y,z,[0,2*pi,0.5,1]);
%后侧面
fill3([0 0.1 0.1 0],[0.2 0.2 0.8 0.8],[0.5 0.5 0.5 0.5],'m',...
[0.1 0.1 0.1 0.1],[0.2 0.2 0.8 0.8],[0.5 4.1 4.1 0.5],'m',...
[0.1 0.1 0 0],[0.2 0.8 0.8 0.2],[4.1 4.1 4.1 4.1],'m',...
[0 0.1 0.1 0],[0.8 0.8 0.8 0.8],[0.5 0.5 4.1 4.1],'m');
%顶面
fill3([0 0.7 0.7 0],[0 0 1 1],[4.1 4.1 4.1 4.1],'b',...
[0.7 0.7 0 0],[0 0 1 1],[4.1 4.2 4.2 4.1],'b',...
[0.7 0.7 0 0],[0 1 1 0],[4.2 4.2 4.2 4.2],'b',...
[0 0.7 0.7 0],[1 1 1 1],[4.1 4.1 4.2 4.2],'b');
view([135 38])
axis([-1,2,-1,2,0,5])
% 绘制球体
x='.2*sin(s)*sin(t) + 0.4';
y='.2*sin(s)*cos(t) + 0.4';
z='.2*cos(s) + 3.3';
ezmesh(x,y,z,[0 pi*2 0 pi*2])
axis off
%% light
plotbutton=uicontrol('style','pushbutton',...
'string','On', ...
'fontsize',12, ...
'position',[100,400,50,20], ...
'callback', 'On=1;'); %define the stop button
erasebutton=uicontrol('style','pushbutton',...
'string','Of', ...
'fontsize',12, ...
'position',[200,400,50,20], ...
'callback','Of=1;');
quitbutton=uicontrol('style','pushbutton',...
'string','Color', ...
'fontsize',12, ...
'position',[300,400,50,20], ...
'callback','Color=1;');
On = 0;
Of = 0;
Color = 0;
% cc = [1,0,0];
while (On == 1)
if Color == 1
cc = round(rand(1,3));
else
cc = [1,0,0];
end
light('color',cc,'style','local','position',[3.1,3.1,3.1])
% light phong
% set(gca,'CameraViewAngle',12)
if Of ==1
On = 0;
end
r = rand
drawnow
end
灯光设置(light)的更多相关文章
- CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection)
CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection) 2016-08-13 由于CSh ...
- 【MVVM Light】Messager的使用
一.前言 在MVVM编程的模式中,有时候我们会遇到一个很尴尬的情况: 若干个xaml.cs都复用一个ViewModel,当ViewModel想传递一个特定的消息给某一个xaml.cs的时候 ...
- bzoj4691: Let There Be Light
如果原点能被一个光源照到,那么这两个点之间一定没有任何球.我们可以通过三分距离来确定某线段和球是否有交点. 注意到m非常小,于是我们可以枚举原点被哪些光源照到.由于\(O(2^{n}*m)\)会超时, ...
- 【MVVM Light】新手初识MVVM,你一看就会
一.前言 作为一个初入软件业的新手,各种设计模式与框架对我是眼花缭乱的.所以当我接触到这些新知识的时候就希望自己能总结几个步骤,以便更好更方便的在日常工作中进行使用. MVVM顾名思义就是Model- ...
- Sensor(LIGHT)
package com.example.sensor01; import java.util.List; import android.hardware.Sensor; import android. ...
- sourcesafe.light 开源项目启动
sourcesafe.light 源于一个2D独立砖块沙盒游戏. 在这个游戏的设计中碰到了一个瓶颈:这个游戏想把玩家变成一个个neo,在矩阵世界中没有什么不可以修改. 这个游戏要跨平台,玩家的修改操作 ...
- C#Light 和 uLua的对比第二弹
上次的对比大家还有印象否,C#Light和ulua对比各有胜负 今天我们加入一个去反射优化,这是uLua没办法实现的优化,我们也就只能不要脸的胜之不武了 以原生执行同一测试时间为X1,数字越小的越快 ...
- C#Light/Evil合体啦
决定将C#Light和C#Evil合并成一个项目,毕竟C#Evil包含C#Light所有的功能,分开两个,基本的表达式方面有什么bug还得两头改 暂时就C#Light/Evil这么叫吧,庆祝合体,画了 ...
- C#最良心脚本语言C#Light/Evil,Xamarin\WP8\Unity热更新最良心方案,再次进化.
C#Light的定位是嵌入式脚本语言,一段C#Light脚本是一个函数 C#Evil定位为书写项目的脚本语言,多脚本文件合作,可以完全用脚本承载项目. C#Light/Evil 使用完全C#一致性语法 ...
随机推荐
- python升级版本
前言 目前大部分使用的3.6或者3.7以及更低版本存在不少问题,随着python的更新很多问题得到修复并且具有更多新的功能. 更新 3.y.x版本升级到3.y.z 下载需要升级的exe安装包点击upg ...
- LeetCode周赛#203 题解
1561. 你可以获得的最大硬币数目 #贪心 题目链接 题意 有 3n 堆数目不一的硬币,你和你的朋友们打算按以下方式分硬币: 每一轮中,你将会选出 任意 3 堆硬币(不一定连续). Alice 将会 ...
- C++基础知识篇:C++ 变量作用域
作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量. 在函数参数的定义中声明的变量,称为形式参数. 在所有函数外部声明的变量,称为全局变量. 我们 ...
- centos xargs
有些时候过滤后的东西需要传递给后面其它命令执行实现需求,这个时候xargs就派上用场了. 比如我想把过滤后的东东拷贝至其它目录,其实我可以进入那个目录然后执行ls,然后是过滤,接着再手工以拷贝那样也可 ...
- web.xml之servlet与filter配置
servlet配置 一个完整的servlet配置分为两块,< servlet >块和< servlet-mapping >块 < servlet > <ser ...
- 【刷题笔记】DP优化-状压
因为篇幅太长翻着麻烦,计划把DP拆成几个小专题,这里原文只留下状压,其他请至后续博文. 状态压缩优化 所谓状态压缩,就是将原本需要很多很多维来描述,甚至暴力根本描述不清的状态压缩成一维来描述. 时间复 ...
- 【GDKOI2014】JZOJ2020年8月13日提高组T3 壕壕的寒假作业
[GDKOI2014]JZOJ2020年8月13日提高组T3 壕壕的寒假作业 题目 Description Input Output 输出n行.第i行输出两个整数,分别表示第i份作业最早完成的时刻以及 ...
- jarvisoj flag在管理员手上
jarvisoj flag在管理员手上 涉及知识点: (1)代码审计和cookie注入 (2)哈希长度拓展攻击 解析: 进入题目的界面.看到 那么就是想方设法的变成admin了.挂上御剑开始审计.发现 ...
- Jenkins Job间传递参数的一种方法
场景: Jenkins 中可以建多个Job,一般是主编译Job,多个子Job. 子Job要用主Job中的版本号,编译号. 1) 在主Job里面添加脚本命令: echo set MainVersion ...
- Scrum 冲刺第二天
一.每日站立式会议 1.会议内容 1)进行每日工作汇报 张博愉: 昨天已完成的工作:制定测试计划.博客编写 今日工作计划:测试mappe里的接口 工作中遇到的困难:对测试接触得较少 张润柏: 昨天已完 ...