查看单个帖子
旧 2008-09-23, 03:27   #1
simulation
初级会员
 
注册日期: 2008-09-17
年龄: 43
帖子: 4
声望力: 0
simulation 正向着好的方向发展
呲牙 [求助]矩阵转动

小弟先谢谢各位看贴的达人了:
程序如下,

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function [tA] = erzeuge_tA(width,height,depth,lambda,pS,tS,gA,dA,gB,dB)


lambda = 650e-9;
depth = lambda/4;

pS = 160;
tS = 1600;
gA = 16;
dA = gA/2;
gB = 12;
dB = gB/2;
%W0 = 130;
%lage = width/2
width = 1600;
height = width;




phi0 = -4*pi*depth/lambda;
start = fix((height-tS)/2);
N = fix(width/pS);

tA(1:height,1:width)=1;

for f=0:1:N-1
iA=1;
iB=1;
for y=start+1:1:start+tS
if iA<=dA
for x=f*pS+1:1:f*pS+pS/4
tA(y,x)=exp(-i*phi0);
end;
end;
if iA==gA
iA=0;
end;
iA=iA+1;
if iB<=dB
for x=f*pS+pS/4+1:1:f*pS+pS/2
tA(y,x)=exp(-i*phi0);
end;
end;
if iB==gB
iB=0;
end;
iB=iB+1;
end;
end;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

根据我上面编好的程序运行会生成如下图形:

光栅结构图

以上的工作花了我2个礼拜的时间,之后就卡住了,我尝试了所有的办法来把上面的光栅结构旋转一定的角度,可惜都失败了
实在没有办法了,希望大家能帮帮我。

我最后的思路是乘上一个转动矩阵,也就[cost -sint; sint cost],不过这个是2X2的矩阵,怎么都没有办法和我之前的1600X1600的矩阵相乘。
simulation 当前离线   回复时引用此帖