I'm trying to find a solution for a given task in a problem I want to solve. Assume I have 6 individual Points in a 3D environment of about 1m³. Each point will be able to change position (almost) freely. Is there a way I can get the information of which distance each point is to any of the remaining 5 points? Background Idea for understanding: Say its 2 wooden triangles (one of those points on each angle) and I need to calculate how far and in which direction one is moving from or towards the other. By comparing all those distances, direction and step-width may be easily calculated. Are there like "coded" distance-sensors so they don't mix their signals? Any thoughts highly appreciated.

  • 1
    Not a very easy task. A distance sensor always points in 1 direction, so you would need to target each individual other point with one distance sensor, while it is moving. I would think, at this point it is easier to use 2 cameras (pointed from different angles to the space) and computer vision to calculate their positions and thus get their distances.
    – chrisl
    Jan 22, 2020 at 15:15
  • thanks chris, i was afraid to hear that ;)
    – aha31137
    Jan 22, 2020 at 15:17
  • Camera would have to be mounted on one of the triangles since they may be positioned anywhere with no outer bounds. Only limit is that they always stay together within a given maximum distance from each other.
    – aha31137
    Jan 22, 2020 at 15:25

2 Answers 2


You may try to implement some kind of ultrasonic transponders. The emitter sends a code addressing a specific receiver. Upon recognizing its address, the receiver replies after a short, fixed delay. The emitter measures the time it took the response to reach it, and from there computes the distance.

You may need some kind of omnidirectional transducers (e.g. this models) if you want the measurement to work in any direction. And also a protocol to avoid several emitters talking at the same time.

This seems to me like a very complex project though.

  • addressing the receiver is going into the direction I was looking for. I only knew of those sending like a small angled beam and waiting for its reflection. I didn't know of a possibility to address a specific receiver or better to have a receiver only answer to a specific emitter instead of whatever is calling. As soon as I can locally separate emitter and receiver and have the receiver only respond to that one specific request, I'm fine to go on from here. Thank you.
    – aha31137
    Jan 22, 2020 at 17:13

The vertices of two (wooden) triangles already constrains the problem - in a positive way - since the inter-point distances of each triangle's vertices is constant. If they were 6 individual, free-floating points, the job would be that much more complex -- 30 unknown distances (each point to each other point), instead of only 18 (each vertex to each of 3 vertices on the other triangle). That's the math part.

The technology part - what kind of sensors - will need more specifics to answer. For instance, ultrasonic sensors may have an interference problem with wooden triangles drifting about. Light and radar may have visibility issues - i.e., can't see certain of the points, depending on the physical shape and implementation of the drifting objects.

  • okay, lets change triangles to shoes on feet. Lets say I want to keep track of tip to tip, heel to heel, shaft to shaft distances. Does that make it easier to find the right sensors? Sensors will most likely stay within visibility to each other as being mounted on the inner side and turns usually wont exceed 70-80° angles.
    – aha31137
    Jan 22, 2020 at 15:31
  • You counted each unknown twice: the distance from A to B is the same as the distance from B to A. Six free points is 15 distances, two triangles is 9 distances. Jan 22, 2020 at 16:03
  • @EdgarBonet: Right you are - missed that.
    – JRobert
    Jan 22, 2020 at 17:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.