comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Least squares fit of a model to a skeleton consisting out of 3D points.
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Least squares fit of a model to a skeleton consisting out of 3D points. [message #64153 is a reply to message #64029] Wed, 03 December 2008 06:14 Go to previous messageGo to previous message
Jeremy Bailin is currently offline  Jeremy Bailin
Messages: 618
Registered: April 2008
Senior Member
On Dec 2, 10:50 am, Johan <jo...@jmarais.com> wrote:
> On Nov 27, 1:53 pm, Jeremy Bailin <astroco...@gmail.com> wrote:
>
>
>
>> On Nov 26, 3:40 am, Johan <jo...@jmarais.com> wrote:
>
>>> On Nov 24, 4:35 pm, Wox <s...@nomail.com> wrote:
>
>>>> On Mon, 24 Nov 2008 17:22:53 +0100, Wox <s...@nomail.com> wrote:
>>>> >X=[X,Y,Z] ; (you need to extract the seperate X, Y and Z in your user
>>>> >routine)
>>>> >Y=replicate(1,n_elements(X))
>
>>>> Woops, redefined X :-). I mean Y=replicate(1,n3Dpoints).
>
>>> Thank you, it seems that krellipsoidfit.pro works rather well. I do
>>> have another question regarding this and will appreciate if can advise
>>> me.
>
>>> I need to get the 3 angles and axis lengths and use the following code
>>> to get it from the given eigenvalues (evals) and eigenvectors (evec):
>
>>>         semia = sqrt(evals[0]) * 2.0
>>>         semib = sqrt(evals[1]) * 2.0
>>>         semic = sqrt(evals[2]) * 2.0
>
>>>         a = semia * 2.0
>>>         b = semib * 2.0
>>>         c = semic * 2.0
>>>         semiAxes = [semia, semib, semic]
>>>         axes = [a, b, c]
>
>>>         eigenvector  = evec[*,0]
>>>         eigenvector2 = evec[*,1]
>>>         eigenvector3 = evec[*,2]
>
>>>          orientation1 = atan(eigenvector1[1], eigenvector1[0])*!RADEG
>>>         orientation2 = atan(eigenvector2[1], eigenvector2[0])*!RADEG
>>>         orientation3 = atan(eigenvector3[1], eigenvector3[0])*!RADEG
>>>         angles = [orientation1, orientation2, orientation3]
>
>>> Is this correct or do I need made some adjustments, especially to the
>>> orientation?
>
>>> Thanks
>>> Johan Marais
>
>> That does indeed give you 3 angles, but it doesn't fully specify the
>> orientation. Which angles are you looking for?
>
>> Incidentally, I'm not quite sure why you have that factor of 2 in the
>> definition of semia etc., but I suppose it depends what went into the
>> matrix you're diagonalizing...
>
>> -Jeremy.- Hide quoted text -
>
>> - Show quoted text -
>
> I tried different ways of getting the angles but it seems I am still
> at a lost. The angles I am looking for is as follow:
> If you have an orthogonal reference framework and the ellipsoid are
> tilted in it. I am looking for the angles that the 3 axes of the
> ellipsoid make with the xy-plane, the yz-plane and yz-plane of the
> reference framework. I assume that for each of them you need to use
> all 3 relevant eigenvectors for each axes of the ellipsoid, or it
> could be only 2?

That's 9 angles, so I'm still not quite sure what you mean. Maybe the
Euler angles would be useful?

-Jeremy.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: date conversion
Next Topic: Re: areas with 'hatching' in plots?

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sun Oct 12 10:45:51 PDT 2025

Total time taken to generate the page: 1.59997 seconds