MATLAB Answers

How to remove or exclude the intersecting part from two intersecting or overlaping spheres using Matlab?

2 views (last 30 days)
M.S. Khan
M.S. Khan on 1 Apr 2020
Edited: darova on 4 Apr 2020
Hi everyone,
i have two spheres of radii R1 and R2 with centers C1 and C2 intersecting each others. i want to exclude the intersecting part. How to remove it to get new object like peanut. i used following code to get interseting spheres.

  3 Comments

John D'Errico
John D'Errico on 2 Apr 2020
For just a few seconds I wanted to answer your question by using a polyshape for the task.
A polyshpe would be perfect, if only this were a 2-d problem, and you wanted to solve it for circles. Or, if polyshapes worked in 3-d. Maybe next release, but sadly, things get significantly more complex when you work in 3-d. Having written code for the intersection, union, etc., of volumes in 3-d and above, I will attest to that.

Sign in to comment.

Accepted Answer

darova
darova on 1 Apr 2020
Here is what i invented
ix1 = (xc1-x2).^2+(yc1-y2).^2+(zc1-z2).^2 < R2^2;
ix2 = (xc2-x1).^2+(yc2-y1).^2+(zc2-z1).^2 < R1^2;
scatter3(xc1(ix1),yc1(ix1),zc1(ix1),20,'r','fill')
scatter3(xc2(ix2),yc2(ix2),zc2(ix2),20,'r','fill')
Of course i prepared explanations and result picture

  10 Comments

Show 7 older comments
M.S. Khan
M.S. Khan on 3 Apr 2020
Thanks sir. if you dont mind, i will keep in touch to learn from you Matlab skills. Regards and obliged for your kind guidance.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!