灯光设置(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#一致性语法 ...
随机推荐
- 记录一次tomcat问题排查记录:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
最近项目升级jdk,从jdk7 升级到 jdk8,本地已经自测完成了,需要部署到测试环境,测试环境已经装好 jdk8 了,但是tomcat 的版本还是 7.不过,据我之前了解,tomcat7是可以运行 ...
- 提交的忠金融的bug
- 10、Spring Boot分布式
1.分布式简介 2.Zookeeper和Dubbo 3.zookeeper (1).zookeeper安装 官方文档:https://hub.docker.com/_/zookeeper?tab= ...
- nameServer路由发现
RocketMQ路由发现是非实时的,当Topic路由出现变化时,NameServer不主动推动给客户端,而是客户端定时拉取主题最新的路由 总结: topic路由的是brokername
- Prometheus+Grafana+Alertmanager实现告警推送教程 ----- 图文详解
前言 本文主要介绍的是Prometheus采集数据,通过Grafana加上PromQL语句实现数据可视化以及通过Alertmanage实现告警推送功能.温馨提示,本篇文章特长,2w多的文字加上几十张图 ...
- Python to Exe By Install PyInstaller on Win7-64bit
本文主要记录为史振华在尝试转换PY文件为EXE文件过程中各种疑惑和最终解决方法,尝试了PYTHON 2.7/3.5/3.6及其相关依赖pywin32-222.win32/pywin32-222.win ...
- 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解
第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一. 引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...
- 课堂练习之疫情APP
title: 课堂练习之疫情查询APP date: 2020-03-17 20:08:51 tags: 在之前的体温记录APP上改进,只写出疫情信息查询页面的代码. 实体类与上篇博客SSM整合中的Ci ...
- 开源版本Visifire的应用
Visifire曾经开源,保持使用开源版本是不会有版权问题滴. 引用的命名控件 using Visifire.Charts; using Visifire.Commons; 一.应用示例主要代码 // ...
- scrapy爬取微信小程序社区教程(crawlspider)
爬取的目标网站是: http://www.wxapp-union.com/portal.php?mod=list&catid=2&page=1 目的是爬取每一个教程的标题,作者,时间和 ...