ellipsoids intersection volume- how to speed up the code ?

I have to determine the intersection volume occupied by ellipsoid in 3D space vs the volume occupied by another ellipsoid at a different orientation. I have created bounding boxes around the ellipsoids for this purpose. However, the usage of below commands makes the code slow.
[x y z]= ellispoid(xc,yc,zc,xr,yr,zr,n)
h=surf(x,y,z)
Any suggestions on how to make the code faster. I dont need the graphical visualisation of the ellipsoidal intersection, so can that be somehow eliminated to make code faster ?

 채택된 답변

Patrick Kalita
Patrick Kalita 2011년 6월 22일

1 개 추천

If you don't want to view the ellipsoid, then simply take out the call to surf.

댓글 수: 3

But then I need to use the handle graphic, h to perform the rotation. How will I do that if I remove surf command ? Thank you for answering my query.
I see. Your question didn't mention anything about such a restriction. In the future, you might want to include relevant information like that in your question.
Why don't you just do the rotation yourself? You can define an appropriate rotation matrix (http://en.wikipedia.org/wiki/Rotation_matrix#Rotations_in_three_dimensions), then multiply each (x,y,z) coordinate of the ellipsoid by the rotation matrix to obtain the coordinates of the rotated ellipsoid.
I am sorry for not clearly mentioning ths rotation aspect in the question. Thanks a lot,the suggestion given by you has reduced the time to a big extent from 70 seconds to 3 seconds. !

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Spline Postprocessing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by