91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 208KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: Matlab
  • 標簽: MATLAB??幾何??

資源簡介

求空間兩直線交點-MATLAB代碼+原理說明 原理.pdf —— 說明性文檔 main_demo.m —— demo主程序,也就是一個示例 Intersection_of_TwoLines.m —— 求交點的函數

資源截圖

代碼片段和文件信息

function?[exist_flagIntersection]?=?Intersection_of_TwoLines(?ABCD)
%?本函數功能:求由?A?B構成的直線、C?D構成的直線的交點
%?A?B?C?D都是三維行向量,各自表示三維空間中的點


%??exist_flag?=?0代表無交點?
%??exist_flag?=?1代表有且僅有一個交點??
%??exist_flag?=?-1代表有無數交點

%??Intersection代表求得的交點坐標,為三維行向量


%??exist_flag?=?0時,?雖然說明無交點,但還是令Intersection?=?[0?0?0],使得本函數有輸出
%??exist_flag?=?-1時,?雖然說明有無數交點,但還是令Intersection?=?A,即默認A就是交點



x1?=?A(1);
y1?=?A(2);
z1?=?A(3);

x2?=?B(1);
y2?=?B(2);
z2?=?B(3);


x3?=?C(1);
y3?=?C(2);
z3?=?C(3);

x4?=?D(1);
y4?=?D(2);
z4?=?D(3);



M?=?[x2-x1?x3-x4;y2-y1?y3-y4;z2-z1?z3-z4];

N?=?[x3-x1;y3-y1;z3-z1];


exist_flag?=?0;

????switch?rank(M)

????????case?2
????????????%?如果M的秩為2,先找到M中的兩行,這兩行構成的矩陣依舊秩為2

????????????for?i?=?1:3

????????????????switch?i
????????????????????case?1
????????????????????????%?如果這兩行構成的矩陣依舊秩為2,則計算lemda
????????????????????????if?rank(M([23]:))?==?2

????????????????????????????lemda?=?M([23]:)\N([23]:);
????????????????????????????
????????????????????????????%???如果滿足?M*lemda?=?N,則說明找到唯一的交點了
????????????????????????????if?max(abs(M*lemda?-?N))?????????????????????????????????exist_flag?=?1;
????????????????????????????????Intersection?=?A?+?lemda(1)*(B-A);
????????????????????????????????break
????????????????????????????
????????????????????????????%???如果不滿足?M*lemda?=?N,則說明不存在交點,可以換成別的兩行
????????????????????????????else
????????????????????????????????continue???????????????????????????????
????????????????????????????end
????????????????????????
????????????????????????%?如果這兩行構成的矩陣依不再為2,則換成別的兩行
????????????????????????else
????????????????????????????continue

????????????????????????end

????????????????????case?2
????????????????????????%?如果這兩行構成的矩陣依舊秩為2,則計算lemda
????????????????????????if?rank(M([13]:))?==?2

????????????????????????????lemda?=?M([13]:)\N([13]:);
????????????????????????????
????????????????????????????%???如果滿足?M*lemda?=?N,則說明找到唯一的交點了
????????????????????????????if?max(abs(M*lemda?-?N))?????????????????????????????????exist_flag?=?1;
????????????????????????????????Intersection?=?A?+?lemda(1)*(B-A);
????????????????????????????????break
????????????????????????????
????????????????????????????%???如果不滿足?M*lemda?=?N,則說明不存在交點,可以換成別的兩行
????????????????????????????else
????????????????????????????????continue???????????????????????????????
????????????????????????????end
????????????????????????
????????????????????????%?如果這兩行構成的矩陣不再為2,則換成別的兩行
????????????????????????else
????????????????????????????continue

????????????????????????end


????????????????????case?3
????????????????????????%?如果這兩行構成的矩陣依舊秩為2,則計算lemda
????????????????????????if?rank(M([12]:))?==?2

????????????????????????????lemda?=?M([12]:)\N([12]:);
????????????????????????????
????????????????????????????%???如果滿足?M*lemda?=?N,則說明找到唯一的交點了
????????????????????????????
????????????????????????????if?max(abs(M*lemda?-?N))??

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4526??2018-08-08?15:38??求空間兩直線交點-代碼+原理說明\Intersection_of_TwoLines.m

?????文件????????384??2018-08-08?15:42??求空間兩直線交點-代碼+原理說明\main_demo.m

?????文件?????216688??2018-08-08?15:48??求空間兩直線交點-代碼+原理說明\原理.pdf

?????目錄??????????0??2018-08-08?15:56??求空間兩直線交點-代碼+原理說明

-----------?---------??----------?-----??----

???????????????221598????????????????????4


評論

共有 條評論