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)的更多相关文章

  1. CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection)

    CSharpGL(13)用GLSL实现点光源(point light)和平行光源(directional light)的漫反射(diffuse reflection) 2016-08-13 由于CSh ...

  2. 【MVVM Light】Messager的使用

    一.前言       在MVVM编程的模式中,有时候我们会遇到一个很尴尬的情况: 若干个xaml.cs都复用一个ViewModel,当ViewModel想传递一个特定的消息给某一个xaml.cs的时候 ...

  3. bzoj4691: Let There Be Light

    如果原点能被一个光源照到,那么这两个点之间一定没有任何球.我们可以通过三分距离来确定某线段和球是否有交点. 注意到m非常小,于是我们可以枚举原点被哪些光源照到.由于\(O(2^{n}*m)\)会超时, ...

  4. 【MVVM Light】新手初识MVVM,你一看就会

    一.前言 作为一个初入软件业的新手,各种设计模式与框架对我是眼花缭乱的.所以当我接触到这些新知识的时候就希望自己能总结几个步骤,以便更好更方便的在日常工作中进行使用. MVVM顾名思义就是Model- ...

  5. Sensor(LIGHT)

    package com.example.sensor01; import java.util.List; import android.hardware.Sensor; import android. ...

  6. sourcesafe.light 开源项目启动

    sourcesafe.light 源于一个2D独立砖块沙盒游戏. 在这个游戏的设计中碰到了一个瓶颈:这个游戏想把玩家变成一个个neo,在矩阵世界中没有什么不可以修改. 这个游戏要跨平台,玩家的修改操作 ...

  7. C#Light 和 uLua的对比第二弹

    上次的对比大家还有印象否,C#Light和ulua对比各有胜负 今天我们加入一个去反射优化,这是uLua没办法实现的优化,我们也就只能不要脸的胜之不武了 以原生执行同一测试时间为X1,数字越小的越快 ...

  8. C#Light/Evil合体啦

    决定将C#Light和C#Evil合并成一个项目,毕竟C#Evil包含C#Light所有的功能,分开两个,基本的表达式方面有什么bug还得两头改 暂时就C#Light/Evil这么叫吧,庆祝合体,画了 ...

  9. C#最良心脚本语言C#Light/Evil,Xamarin\WP8\Unity热更新最良心方案,再次进化.

    C#Light的定位是嵌入式脚本语言,一段C#Light脚本是一个函数 C#Evil定位为书写项目的脚本语言,多脚本文件合作,可以完全用脚本承载项目. C#Light/Evil 使用完全C#一致性语法 ...

随机推荐

  1. 开源认证和访问控制的利器keycloak使用简介

    目录 简介 安装keycloak 创建admin用户 创建realm和普通用户 使用keycloak来保护你的应用程序 安装WildFly client adapter 注册WildFly应用程序 安 ...

  2. 【模版 Luogu P3808/P3796/P5357】AC自动机(简论)

    浙江集训Day9,没有出任何实质性成果,只好把昨天打完的板子记一下. 该博客基于luogu的三道模版题.只有一个大致的讲解,主要提供代码给自己参考. ------------------------- ...

  3. Java基础教程——运算符

    运算符 算术运算符 加 减 乘 除 取余 自加 自减 + - * / % ++ -- public class 算术运算符 { public static void main(String[] arg ...

  4. 如何解析 redis 的 rdb 文件

    目录 安装工具 解析 redis 的 rdb 文件 命令行工具使用,先看 --help 生成内存报告 使用参数过滤想要的数据 比较两个 rdb 文件 查看一个 key 的内存使用情况 常见问题 FAQ ...

  5. HTML的基本术语

    一.HTML含义1.根据W3C定义,HTML全称Hyper Text Markup Language: 超文本标记语言,用于定义文档的内容结构,该语言书写的代码通常会被浏览器解析执行.二.css含义1 ...

  6. 机场&代理商-关系图

    机场&代理商-关系图 思路 ①首先统计机场活跃度Top10的机场名称,以下是我的表结构,以及查询语句 表结构: 查询语句:SELECT * from 2020csale ORDER BY cn ...

  7. Windows10下的MediaWiki的部署启动

    MediaWiki是使用PHP开发的,PHP是比较成熟的Web脚本语言,要想运行基于PHP的程序,你需要配置PHP的运行环境.MediaWiki使用数据库来保存数据等信息,支持MySQL和Postgr ...

  8. oracle ddl 与 dml

    DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop in ...

  9. WEB组态可视化软件(B/S)

    WEB组态可视化软件 目录 WEB组态可视化软件 1 B/S组态软件 2 组态概念 3 组态产品呈现 4 功能特点 5 组态软件应用场景 6 经典的案例 6.1 某通信基站的组态可视化 7 具体实现 ...

  10. Hbase API 多条件查询

    public static ResultScanner scan(String tableName, String family, List<String> columns, List&l ...