本帖最后由 知音2020 于 2024-3-28 21:46 编辑
其实说明书里都有,给你一个示例:
1.链接代码
lt=actxserver('lighttools.ltapi4');
lm=actxserver('ltcom64.ltapi2');
js=actxserver('ltcom64.jsml');
NewV3D(js,lt);
lt.Cmd("SweptSolid XYZ 0,-0.025,-0.05 XYZ 0,0.6,-0.4 XYZ 0,-0.6,-0.13");
2.
tiltkey = SWEPT_SOLID[SweptEntity_1].SWEPT_PRIMITIVE[SweptPrimitive_1];
LTDbSet(lm,lt,tiltkey,'Alpha_Relative',alpha);
3.调整光源的角度只能你自己写个for 循环了
开始光线追迹的代码
Num_Rays = 15E4;
LTDbSet(lm,lt,'LENS_MANAGER[1].ILLUM_MANAGER[Illumination_Manager].SIMULATIONS[ForwardAll]','MaxProgress',Num_Rays);
LTCmd(lm,lt,'\V3D BeginAllSimulations');
4.读取照度值
%GetMeshData()
NewV3D(js,lt)
MakeSourcePoint(js,lt,0,0,0,'mySource')
MakeDummyPlane(js,lt,0,0,5,0,0,1,'N','R',5,5,'myDummy')
MakeReceiver(js,lt,'myDummy','dummyplane','myreceiver')
LTDbSet(m,lt,'receiver[1].mesh[1]','X_Dimension',7)
LTDbSet(m,lt,'receiver[1].mesh[1]','Y_Dimension',7)
LTCmd(m,lt,'\V3D BeginAllSimulations')
d=zeros(7,7);
[ltr,d]=LTGetMeshData(m,lt,'receiver[1].mesh[1]',d,'CELLVALUE');
%可以自定义修改7*7或51*51
差不多了,剩下的就是你自己组合了,对于自己的用途需要自己开发宏语言!加油