How to determine if a 3D line segment intersects a side of a 3D rectangular prism?
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
I am trying to find a way to determine if a line segment drawn between two points in 3D space will intersect another 3D body (retangular prism) that is defined by regions using (x, y, z) vertices.
Is there a way to do this in Matlab?
0 件のコメント
採用された回答
Matt J
2022 年 9 月 28 日
編集済み: Matt J
2022 年 9 月 28 日
You can use intersectionHull() in this FEX download,
2 件のコメント
Matt J
2022 年 9 月 28 日
編集済み: Matt J
2022 年 9 月 28 日
No, you can specify both the line segment and the prism in terms of vertices if you wish, for example,
Vprism=dec2bin(0:2^3-1,2)-'0'+1 %vertices of prism
Vline=[0,0,0;3 3 3]; %vertices of line segment
I=intersectionHull('vert',Vprism,'vert',Vline); %compute intersection
>> I.vert
ans =
1.0000 1.0000 1.0000
2.0000 2.0000 2.0000
その他の回答 (1 件)
Matt J
2022 年 9 月 29 日
You can also use Siddon's algorithm
which will compute the intersection between a ray and many prisms.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Genomics and Next Generation Sequencing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!