我怎么能衡量一个旋转物体的亮度间隔的时间吗?

2视图(30天)
你好,我有一个代码,薄板在一个随机的轴旋转时受到光源。在那之后我想计算板的亮度变化的间隔时间。我的问题是,光变曲线获得在一些奇怪的“跳跃”分,我不知道为什么这一切发生的时候,应该更流畅。下面是我的代码。测量板的亮度我错了吗?非常感谢你的答案,我真的需要帮助,因为我不知道为什么会这样。
如果有一种方法来生成随机轴在一个更好的办法是伟大的知道,谢谢!
clc
清晰的所有
% %薄板
vertex_matrix = [1 0 1;1 0 1;1 0 1;1 0 1];
faces_matrix = (1 2 3 4);
% %模拟板
hgtc = hgtransform (“父”甘氨胆酸,);
补丁(“顶点”vertex_matrix,“脸”faces_matrix,
“FaceVertexCData”hsv (6),“FaceColor”,“白色”,“FaceNormalsMode”,“汽车”,“BackFaceLighting”,“reverselit”,“父”hgtc)
轴([4、4、4、4、4、4])
广场
集(gca),“颜色”,“k”)%绘制黑色背景“k”
阿兹= 0;
el = 0;
视图(az, el);
包含(“x”)
ylabel (“y”)
zlabel (“z”)
% %光
光(“位置”(0 5 0),“风格”,“本地”,“风格”,“无限”);%的光在无穷。指定位置
%光照在平行光线的方向。
% %旋转板
β= 0.003067961576;% 2 *π/ 2048 - - - > 1圈在2048年代
t = 0:1:2047;
约= 2;%约- 1 =数量的轴要创建(例子:如果约= 3 - - > 2随机轴)
兰德(x = 1, JN-1);
兰德(y = 1, JN-1);
兰德(z = 1, JN-1);
axisvector =细胞(JN-1, 1);
我= 1:JN-1
v = [x (i) y (i) z (i)];
axisvector{我}= v;
结束
Faxis =细胞(JN-1, 1);
j = 1: JN-1
i = 1:长度(t)
RR = makehgtform (“axisrotate”,(axisvector {j} (1, 1) axisvector {j} (1、2) axisvector {j}(1、3)],我*β);
集(hgtc,“矩阵”,RR);
F (i) = getframe (gcf [120 60 320 300]);
Faxis {j} = F;
drawnow;
结束
结束
meanGrayLevelsNEW =细胞(JN-1, 1);
j = 1: JN-1
i = 1:长度(F)
%将图像转换成一个框架
grayFrame = rgb2gray (Faxis {j}(我).cdata);
%计算平均灰度。
meanGrayLevels (i) =意味着(grayFrame (:));
meanGrayLevelsNEW {j} = meanGrayLevels;
结束
结束
% % LIGHTCURVE
%正常化情节数据
我= 1:JN-1
minGray = min (meanGrayLevelsNEW{我});
maxGray = max (meanGrayLevelsNEW{我});
meanGrayLevelsNo = (meanGrayLevelsNEW{我}- minGray) / (maxGray - minGray);
%画出的意思是灰色的水平。
情节(meanGrayLevelsNo“k -”,“线宽”2);
轴([0 2048 0 1])
包含(“帧”)
ylabel (的相对亮度的)
持有;
结束

答案(0)

类别

找到更多的在照明、透明度和阴影帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!