2016-02-01 3 views
0

У меня есть уравнения двух сфер в MATLAB, какРисует пересекающийся объем двух сфер в MATLAB?

(x-x0)^2+(y-y0)^2+(z-z0)^2=R0^2 
(x-x1)^2+(y-y1)^2+(z-z1)^2=R1^2 

Они пересекающаяся часть (я нахожу подобную картину, которая может объяснить свое значение в Интернете, как показано ниже)

enter image description here

Теперь я хотел бы только нарисовать пространственный пересекающийся объем этих двух сфер (например, трехмерную часть между изогнутыми гранями с красными линиями в образце выше) Возможно, я мог бы использовать команду 'surface' в MATLAB, чтобы вытащить эти два изогнутых фак es, которые составляют пересекающийся объем? Я не знаю, как это сделать ....

Кроме того, я также хотел бы обратить эти две сферы, после удаления из этих пересекающиеся части

То есть моя цель: растягивая пересекающейся и не- пересекая часть этих двух сфер индивидуально.

Может ли кто-нибудь мне помочь?

Спасибо!

+1

Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что это математическая проблема и принадлежит Mathematics.SE –

ответ

-1

Ответ дается очень подробно на Wolfram. Короче говоря, вместо того, чтобы копировать все эти уравнения:

1) вычислить круг пересечения поверхностей двух сфер.

2) определить местоположение этого круга на каждой сфере.

3) Рассчитайте объем сферической шапки каждой сферы для этого круга и добавьте два тома, чтобы получить «объектив».

Я рекомендую это перемещать в Math.SE, потому что это математическая проблема, а ее кодирование в Matlab тривиально.