Build 3d model from distances between points












2












$begingroup$


Let's say we've got some points and we only know the distance each point and its closest neighbors. How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




  • We'd like to program this solution, so geometry with pen and compass won't work

  • The distances between the points may slightly vary due to measuring inaccuracy

  • We may ask the user to place the first few points in special ways, so the model becomes explicit


In the real-world terms, we have multiple devices that can calculate the distance to each other. Based on these distances we want to build a 3d model of the devices.



Example:



Let's say we've got four devices. We can only let devices measure the distance to other devices. So we've got the following values:

- Device A can calculate: $|overline{AB}|$ $|overline{AC}|$ $|overline{AD}|$

- Device B can calculate: $|overline{BA}|$ $|overline{BC}|$ $|overline{BD}|$

- Device C can calculate: $|overline{CA}|$ $|overline{CB}|$ $|overline{CD}|$

- Device D can calculate: $|overline{DA}|$ $|overline{DB}|$ $|overline{DD}|$



Based on those values, we want to calculate the locations of the devices in space.
One possible result could look like the following:

- A(0 0 0) (let's define the location of this device as absolute zero)

- B(0 1 1)

- C(2 1 2)

- D(4 2 4)










share|cite|improve this question











$endgroup$












  • $begingroup$
    Can you give an example input and output?
    $endgroup$
    – John Douma
    Dec 20 '18 at 6:12










  • $begingroup$
    What sorts of things have you tried? Can you add your attempts in the body of your question?
    $endgroup$
    – Carl Schildkraut
    Dec 20 '18 at 6:13






  • 1




    $begingroup$
    As long as the pairs you have distances for are triangulated, you can just go point by point computing locations. If there are small errors, you can then do a minimization afterward.
    $endgroup$
    – Ross Millikan
    Dec 20 '18 at 6:15










  • $begingroup$
    See en.wikipedia.org/wiki/Distance_geometry_problem
    $endgroup$
    – lhf
    Dec 20 '18 at 12:59










  • $begingroup$
    In the reference given by @hlf take a special look at Cayley-Menger determinants.
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:56


















2












$begingroup$


Let's say we've got some points and we only know the distance each point and its closest neighbors. How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




  • We'd like to program this solution, so geometry with pen and compass won't work

  • The distances between the points may slightly vary due to measuring inaccuracy

  • We may ask the user to place the first few points in special ways, so the model becomes explicit


In the real-world terms, we have multiple devices that can calculate the distance to each other. Based on these distances we want to build a 3d model of the devices.



Example:



Let's say we've got four devices. We can only let devices measure the distance to other devices. So we've got the following values:

- Device A can calculate: $|overline{AB}|$ $|overline{AC}|$ $|overline{AD}|$

- Device B can calculate: $|overline{BA}|$ $|overline{BC}|$ $|overline{BD}|$

- Device C can calculate: $|overline{CA}|$ $|overline{CB}|$ $|overline{CD}|$

- Device D can calculate: $|overline{DA}|$ $|overline{DB}|$ $|overline{DD}|$



Based on those values, we want to calculate the locations of the devices in space.
One possible result could look like the following:

- A(0 0 0) (let's define the location of this device as absolute zero)

- B(0 1 1)

- C(2 1 2)

- D(4 2 4)










share|cite|improve this question











$endgroup$












  • $begingroup$
    Can you give an example input and output?
    $endgroup$
    – John Douma
    Dec 20 '18 at 6:12










  • $begingroup$
    What sorts of things have you tried? Can you add your attempts in the body of your question?
    $endgroup$
    – Carl Schildkraut
    Dec 20 '18 at 6:13






  • 1




    $begingroup$
    As long as the pairs you have distances for are triangulated, you can just go point by point computing locations. If there are small errors, you can then do a minimization afterward.
    $endgroup$
    – Ross Millikan
    Dec 20 '18 at 6:15










  • $begingroup$
    See en.wikipedia.org/wiki/Distance_geometry_problem
    $endgroup$
    – lhf
    Dec 20 '18 at 12:59










  • $begingroup$
    In the reference given by @hlf take a special look at Cayley-Menger determinants.
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:56
















2












2








2





$begingroup$


Let's say we've got some points and we only know the distance each point and its closest neighbors. How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




  • We'd like to program this solution, so geometry with pen and compass won't work

  • The distances between the points may slightly vary due to measuring inaccuracy

  • We may ask the user to place the first few points in special ways, so the model becomes explicit


In the real-world terms, we have multiple devices that can calculate the distance to each other. Based on these distances we want to build a 3d model of the devices.



Example:



Let's say we've got four devices. We can only let devices measure the distance to other devices. So we've got the following values:

- Device A can calculate: $|overline{AB}|$ $|overline{AC}|$ $|overline{AD}|$

- Device B can calculate: $|overline{BA}|$ $|overline{BC}|$ $|overline{BD}|$

- Device C can calculate: $|overline{CA}|$ $|overline{CB}|$ $|overline{CD}|$

- Device D can calculate: $|overline{DA}|$ $|overline{DB}|$ $|overline{DD}|$



Based on those values, we want to calculate the locations of the devices in space.
One possible result could look like the following:

- A(0 0 0) (let's define the location of this device as absolute zero)

- B(0 1 1)

- C(2 1 2)

- D(4 2 4)










share|cite|improve this question











$endgroup$




Let's say we've got some points and we only know the distance each point and its closest neighbors. How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




  • We'd like to program this solution, so geometry with pen and compass won't work

  • The distances between the points may slightly vary due to measuring inaccuracy

  • We may ask the user to place the first few points in special ways, so the model becomes explicit


In the real-world terms, we have multiple devices that can calculate the distance to each other. Based on these distances we want to build a 3d model of the devices.



Example:



Let's say we've got four devices. We can only let devices measure the distance to other devices. So we've got the following values:

- Device A can calculate: $|overline{AB}|$ $|overline{AC}|$ $|overline{AD}|$

- Device B can calculate: $|overline{BA}|$ $|overline{BC}|$ $|overline{BD}|$

- Device C can calculate: $|overline{CA}|$ $|overline{CB}|$ $|overline{CD}|$

- Device D can calculate: $|overline{DA}|$ $|overline{DB}|$ $|overline{DD}|$



Based on those values, we want to calculate the locations of the devices in space.
One possible result could look like the following:

- A(0 0 0) (let's define the location of this device as absolute zero)

- B(0 1 1)

- C(2 1 2)

- D(4 2 4)







linear-algebra 3d






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Dec 20 '18 at 10:19







Aki

















asked Dec 20 '18 at 5:58









AkiAki

1143




1143












  • $begingroup$
    Can you give an example input and output?
    $endgroup$
    – John Douma
    Dec 20 '18 at 6:12










  • $begingroup$
    What sorts of things have you tried? Can you add your attempts in the body of your question?
    $endgroup$
    – Carl Schildkraut
    Dec 20 '18 at 6:13






  • 1




    $begingroup$
    As long as the pairs you have distances for are triangulated, you can just go point by point computing locations. If there are small errors, you can then do a minimization afterward.
    $endgroup$
    – Ross Millikan
    Dec 20 '18 at 6:15










  • $begingroup$
    See en.wikipedia.org/wiki/Distance_geometry_problem
    $endgroup$
    – lhf
    Dec 20 '18 at 12:59










  • $begingroup$
    In the reference given by @hlf take a special look at Cayley-Menger determinants.
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:56




















  • $begingroup$
    Can you give an example input and output?
    $endgroup$
    – John Douma
    Dec 20 '18 at 6:12










  • $begingroup$
    What sorts of things have you tried? Can you add your attempts in the body of your question?
    $endgroup$
    – Carl Schildkraut
    Dec 20 '18 at 6:13






  • 1




    $begingroup$
    As long as the pairs you have distances for are triangulated, you can just go point by point computing locations. If there are small errors, you can then do a minimization afterward.
    $endgroup$
    – Ross Millikan
    Dec 20 '18 at 6:15










  • $begingroup$
    See en.wikipedia.org/wiki/Distance_geometry_problem
    $endgroup$
    – lhf
    Dec 20 '18 at 12:59










  • $begingroup$
    In the reference given by @hlf take a special look at Cayley-Menger determinants.
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:56


















$begingroup$
Can you give an example input and output?
$endgroup$
– John Douma
Dec 20 '18 at 6:12




$begingroup$
Can you give an example input and output?
$endgroup$
– John Douma
Dec 20 '18 at 6:12












$begingroup$
What sorts of things have you tried? Can you add your attempts in the body of your question?
$endgroup$
– Carl Schildkraut
Dec 20 '18 at 6:13




$begingroup$
What sorts of things have you tried? Can you add your attempts in the body of your question?
$endgroup$
– Carl Schildkraut
Dec 20 '18 at 6:13




1




1




$begingroup$
As long as the pairs you have distances for are triangulated, you can just go point by point computing locations. If there are small errors, you can then do a minimization afterward.
$endgroup$
– Ross Millikan
Dec 20 '18 at 6:15




$begingroup$
As long as the pairs you have distances for are triangulated, you can just go point by point computing locations. If there are small errors, you can then do a minimization afterward.
$endgroup$
– Ross Millikan
Dec 20 '18 at 6:15












$begingroup$
See en.wikipedia.org/wiki/Distance_geometry_problem
$endgroup$
– lhf
Dec 20 '18 at 12:59




$begingroup$
See en.wikipedia.org/wiki/Distance_geometry_problem
$endgroup$
– lhf
Dec 20 '18 at 12:59












$begingroup$
In the reference given by @hlf take a special look at Cayley-Menger determinants.
$endgroup$
– Jean Marie
Dec 31 '18 at 19:56






$begingroup$
In the reference given by @hlf take a special look at Cayley-Menger determinants.
$endgroup$
– Jean Marie
Dec 31 '18 at 19:56












2 Answers
2






active

oldest

votes


















0












$begingroup$


Let's say we've got some points and we only know the distance each point and its closest neighbors.




Only the closest neighbors, or all pairwise distances?




How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




As lhf commented to the question, this is a distance geometry problem. Also see Euclidean distance matrix. Software solutions already exist, but this is a topic in ongoing research.



One important detail to realize that distances alone are not enough to determine the chirality of a chiral point set. Consider, for example, the distances between atoms in alanine, a common amino acid. It has two isomers, L-alanine and D-alanine, that have the exact same atoms and interatomic distances, but have different biochemistry. (L-alanine is common in protein synthesis, D-alanine has been found in some bacterial cell walls.) Or, as an another example, consider three points at sea level on Earth, and a fourth non-coplanar point in the middle: it is impossible to tell whether the fourth point is above or below sea level, only its distance to the plane formed by the three other points.



As a simpler example, consider four points in the shape of an L, with three in a straight line, and one off to the side. The pairwise distances define the radius and position along the axis of the off point, but not its direction. To be able to determine their geometry, the locations of the off point and one of the other points must be fixed first. (In a five-point V, you'd have to fix three points, with at least one from each limb, and so on.)



So, it is not always possible to reconstruct the original point set using their pairwise distances alone. Sometimes you end up with two or more possible configurations, and sometimes an infinite number of configurations (due to axial or spherical symmetry, for example), that can only be "fixed" by initially fixing the position of certain specific points, depending on the point set.






share|cite|improve this answer









$endgroup$





















    0












    $begingroup$

    I would propose splitting into smaller groups of points.



    For example $3$ points in $2D$ we can calculate relative coordinates.



    Then we can replace these three by one point, for example midpoint and coupled with rigid transformation which can be expressed with linear transformation.



    Here is an example with optimizing for such an translation+rotation or translation+reflection operator if we choose 4 points instead of 3 in each "block".








    share|cite|improve this answer











    $endgroup$









    • 1




      $begingroup$
      If you take this idea further, you'll end up with an algorithm that first creates a graph of the pairwise distances, and starts looking at the smallest graph cycles first to fix point locations with respect to each other; i.e., as "subgraphs", that can be oriented in any way, but whose configuration is internally fixed/consistent/rigid. It sounds like a good approach to an algorithm to me, but not being up to date with the relevant literature, I don't know if there exist better ones.
      $endgroup$
      – Nominal Animal
      Dec 22 '18 at 23:30













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "69"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3047212%2fbuild-3d-model-from-distances-between-points%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0












    $begingroup$


    Let's say we've got some points and we only know the distance each point and its closest neighbors.




    Only the closest neighbors, or all pairwise distances?




    How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




    As lhf commented to the question, this is a distance geometry problem. Also see Euclidean distance matrix. Software solutions already exist, but this is a topic in ongoing research.



    One important detail to realize that distances alone are not enough to determine the chirality of a chiral point set. Consider, for example, the distances between atoms in alanine, a common amino acid. It has two isomers, L-alanine and D-alanine, that have the exact same atoms and interatomic distances, but have different biochemistry. (L-alanine is common in protein synthesis, D-alanine has been found in some bacterial cell walls.) Or, as an another example, consider three points at sea level on Earth, and a fourth non-coplanar point in the middle: it is impossible to tell whether the fourth point is above or below sea level, only its distance to the plane formed by the three other points.



    As a simpler example, consider four points in the shape of an L, with three in a straight line, and one off to the side. The pairwise distances define the radius and position along the axis of the off point, but not its direction. To be able to determine their geometry, the locations of the off point and one of the other points must be fixed first. (In a five-point V, you'd have to fix three points, with at least one from each limb, and so on.)



    So, it is not always possible to reconstruct the original point set using their pairwise distances alone. Sometimes you end up with two or more possible configurations, and sometimes an infinite number of configurations (due to axial or spherical symmetry, for example), that can only be "fixed" by initially fixing the position of certain specific points, depending on the point set.






    share|cite|improve this answer









    $endgroup$


















      0












      $begingroup$


      Let's say we've got some points and we only know the distance each point and its closest neighbors.




      Only the closest neighbors, or all pairwise distances?




      How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




      As lhf commented to the question, this is a distance geometry problem. Also see Euclidean distance matrix. Software solutions already exist, but this is a topic in ongoing research.



      One important detail to realize that distances alone are not enough to determine the chirality of a chiral point set. Consider, for example, the distances between atoms in alanine, a common amino acid. It has two isomers, L-alanine and D-alanine, that have the exact same atoms and interatomic distances, but have different biochemistry. (L-alanine is common in protein synthesis, D-alanine has been found in some bacterial cell walls.) Or, as an another example, consider three points at sea level on Earth, and a fourth non-coplanar point in the middle: it is impossible to tell whether the fourth point is above or below sea level, only its distance to the plane formed by the three other points.



      As a simpler example, consider four points in the shape of an L, with three in a straight line, and one off to the side. The pairwise distances define the radius and position along the axis of the off point, but not its direction. To be able to determine their geometry, the locations of the off point and one of the other points must be fixed first. (In a five-point V, you'd have to fix three points, with at least one from each limb, and so on.)



      So, it is not always possible to reconstruct the original point set using their pairwise distances alone. Sometimes you end up with two or more possible configurations, and sometimes an infinite number of configurations (due to axial or spherical symmetry, for example), that can only be "fixed" by initially fixing the position of certain specific points, depending on the point set.






      share|cite|improve this answer









      $endgroup$
















        0












        0








        0





        $begingroup$


        Let's say we've got some points and we only know the distance each point and its closest neighbors.




        Only the closest neighbors, or all pairwise distances?




        How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




        As lhf commented to the question, this is a distance geometry problem. Also see Euclidean distance matrix. Software solutions already exist, but this is a topic in ongoing research.



        One important detail to realize that distances alone are not enough to determine the chirality of a chiral point set. Consider, for example, the distances between atoms in alanine, a common amino acid. It has two isomers, L-alanine and D-alanine, that have the exact same atoms and interatomic distances, but have different biochemistry. (L-alanine is common in protein synthesis, D-alanine has been found in some bacterial cell walls.) Or, as an another example, consider three points at sea level on Earth, and a fourth non-coplanar point in the middle: it is impossible to tell whether the fourth point is above or below sea level, only its distance to the plane formed by the three other points.



        As a simpler example, consider four points in the shape of an L, with three in a straight line, and one off to the side. The pairwise distances define the radius and position along the axis of the off point, but not its direction. To be able to determine their geometry, the locations of the off point and one of the other points must be fixed first. (In a five-point V, you'd have to fix three points, with at least one from each limb, and so on.)



        So, it is not always possible to reconstruct the original point set using their pairwise distances alone. Sometimes you end up with two or more possible configurations, and sometimes an infinite number of configurations (due to axial or spherical symmetry, for example), that can only be "fixed" by initially fixing the position of certain specific points, depending on the point set.






        share|cite|improve this answer









        $endgroup$




        Let's say we've got some points and we only know the distance each point and its closest neighbors.




        Only the closest neighbors, or all pairwise distances?




        How can we calculate 3d coordinates for each of those points, so that the distances between them are matching?




        As lhf commented to the question, this is a distance geometry problem. Also see Euclidean distance matrix. Software solutions already exist, but this is a topic in ongoing research.



        One important detail to realize that distances alone are not enough to determine the chirality of a chiral point set. Consider, for example, the distances between atoms in alanine, a common amino acid. It has two isomers, L-alanine and D-alanine, that have the exact same atoms and interatomic distances, but have different biochemistry. (L-alanine is common in protein synthesis, D-alanine has been found in some bacterial cell walls.) Or, as an another example, consider three points at sea level on Earth, and a fourth non-coplanar point in the middle: it is impossible to tell whether the fourth point is above or below sea level, only its distance to the plane formed by the three other points.



        As a simpler example, consider four points in the shape of an L, with three in a straight line, and one off to the side. The pairwise distances define the radius and position along the axis of the off point, but not its direction. To be able to determine their geometry, the locations of the off point and one of the other points must be fixed first. (In a five-point V, you'd have to fix three points, with at least one from each limb, and so on.)



        So, it is not always possible to reconstruct the original point set using their pairwise distances alone. Sometimes you end up with two or more possible configurations, and sometimes an infinite number of configurations (due to axial or spherical symmetry, for example), that can only be "fixed" by initially fixing the position of certain specific points, depending on the point set.







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered Dec 20 '18 at 20:18









        Nominal AnimalNominal Animal

        7,0632617




        7,0632617























            0












            $begingroup$

            I would propose splitting into smaller groups of points.



            For example $3$ points in $2D$ we can calculate relative coordinates.



            Then we can replace these three by one point, for example midpoint and coupled with rigid transformation which can be expressed with linear transformation.



            Here is an example with optimizing for such an translation+rotation or translation+reflection operator if we choose 4 points instead of 3 in each "block".








            share|cite|improve this answer











            $endgroup$









            • 1




              $begingroup$
              If you take this idea further, you'll end up with an algorithm that first creates a graph of the pairwise distances, and starts looking at the smallest graph cycles first to fix point locations with respect to each other; i.e., as "subgraphs", that can be oriented in any way, but whose configuration is internally fixed/consistent/rigid. It sounds like a good approach to an algorithm to me, but not being up to date with the relevant literature, I don't know if there exist better ones.
              $endgroup$
              – Nominal Animal
              Dec 22 '18 at 23:30


















            0












            $begingroup$

            I would propose splitting into smaller groups of points.



            For example $3$ points in $2D$ we can calculate relative coordinates.



            Then we can replace these three by one point, for example midpoint and coupled with rigid transformation which can be expressed with linear transformation.



            Here is an example with optimizing for such an translation+rotation or translation+reflection operator if we choose 4 points instead of 3 in each "block".








            share|cite|improve this answer











            $endgroup$









            • 1




              $begingroup$
              If you take this idea further, you'll end up with an algorithm that first creates a graph of the pairwise distances, and starts looking at the smallest graph cycles first to fix point locations with respect to each other; i.e., as "subgraphs", that can be oriented in any way, but whose configuration is internally fixed/consistent/rigid. It sounds like a good approach to an algorithm to me, but not being up to date with the relevant literature, I don't know if there exist better ones.
              $endgroup$
              – Nominal Animal
              Dec 22 '18 at 23:30
















            0












            0








            0





            $begingroup$

            I would propose splitting into smaller groups of points.



            For example $3$ points in $2D$ we can calculate relative coordinates.



            Then we can replace these three by one point, for example midpoint and coupled with rigid transformation which can be expressed with linear transformation.



            Here is an example with optimizing for such an translation+rotation or translation+reflection operator if we choose 4 points instead of 3 in each "block".








            share|cite|improve this answer











            $endgroup$



            I would propose splitting into smaller groups of points.



            For example $3$ points in $2D$ we can calculate relative coordinates.



            Then we can replace these three by one point, for example midpoint and coupled with rigid transformation which can be expressed with linear transformation.



            Here is an example with optimizing for such an translation+rotation or translation+reflection operator if we choose 4 points instead of 3 in each "block".









            share|cite|improve this answer














            share|cite|improve this answer



            share|cite|improve this answer








            edited Dec 25 '18 at 11:15

























            answered Dec 21 '18 at 22:41









            mathreadlermathreadler

            15k72263




            15k72263








            • 1




              $begingroup$
              If you take this idea further, you'll end up with an algorithm that first creates a graph of the pairwise distances, and starts looking at the smallest graph cycles first to fix point locations with respect to each other; i.e., as "subgraphs", that can be oriented in any way, but whose configuration is internally fixed/consistent/rigid. It sounds like a good approach to an algorithm to me, but not being up to date with the relevant literature, I don't know if there exist better ones.
              $endgroup$
              – Nominal Animal
              Dec 22 '18 at 23:30
















            • 1




              $begingroup$
              If you take this idea further, you'll end up with an algorithm that first creates a graph of the pairwise distances, and starts looking at the smallest graph cycles first to fix point locations with respect to each other; i.e., as "subgraphs", that can be oriented in any way, but whose configuration is internally fixed/consistent/rigid. It sounds like a good approach to an algorithm to me, but not being up to date with the relevant literature, I don't know if there exist better ones.
              $endgroup$
              – Nominal Animal
              Dec 22 '18 at 23:30










            1




            1




            $begingroup$
            If you take this idea further, you'll end up with an algorithm that first creates a graph of the pairwise distances, and starts looking at the smallest graph cycles first to fix point locations with respect to each other; i.e., as "subgraphs", that can be oriented in any way, but whose configuration is internally fixed/consistent/rigid. It sounds like a good approach to an algorithm to me, but not being up to date with the relevant literature, I don't know if there exist better ones.
            $endgroup$
            – Nominal Animal
            Dec 22 '18 at 23:30






            $begingroup$
            If you take this idea further, you'll end up with an algorithm that first creates a graph of the pairwise distances, and starts looking at the smallest graph cycles first to fix point locations with respect to each other; i.e., as "subgraphs", that can be oriented in any way, but whose configuration is internally fixed/consistent/rigid. It sounds like a good approach to an algorithm to me, but not being up to date with the relevant literature, I don't know if there exist better ones.
            $endgroup$
            – Nominal Animal
            Dec 22 '18 at 23:30




















            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematics Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3047212%2fbuild-3d-model-from-distances-between-points%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How do I know what Microsoft account the skydrive app is syncing to?

            Grease: Live!

            When does type information flow backwards in C++?