Distance between two points



  • On 06/01/2014 at 23:11, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   13,14,15 
    Platform:      
    Language(s) :

    ---------
    How do I get the distance between two points, in global space?
    I have tried to subtract two vectors, and then use GetLenth(), but I get different results depending on the order of the two vectors, and have a feeling I do not do it right.

    Yes, it is a basic question I assume, but I have not needed this before now.
    To clairify, in this case I want to know how this is done for two null objects, just to make it as simple as possible.



  • On 07/01/2014 at 07:20, xxxxxxxx wrote:

    Hi ingvar,

    your approach doesn't sound very wrong.

      
    Matrix mg1 = op1->GetMg();
    Matrix mg2 = op2->GetMg();
      
    Vector p1 = op->GetPointR()[42];
    Vector p2 = op->GetPointR()[31];
      
    Float distance = ((mg2 * p2) - (mg1 * p1)).GetLength();
    

    what did you do differently?

    Best,
    -Niklas



  • On 07/01/2014 at 12:25, xxxxxxxx wrote:

    Hi Niklas!

    > your approach doesn't sound very wrong.
    And you are so right, I have done it correctly. But i used some numbers from another part of my code, where I did it wrong!! So I though my latest calculation also was wrong.
    Still I learnt something from you post, I have done it the simple way, like this:

            Matrix mgA = opA->GetMg();
        	Matrix mgB = opB->GetMg();
            Real distance = (mgA.off - mgB.off).GetLength();
    

    And this works, for Nulls, as well as PolygonObjects.
    Now  also can calculate the distance between points too, thanks!


Log in to reply