HP Forums
Geometry: triangulation for measuring a lot/yard - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: Geometry: triangulation for measuring a lot/yard (/thread-11093.html)



Geometry: triangulation for measuring a lot/yard - Dave Britten - 07-19-2018 10:23 PM

I'm trying to get the hang of the Prime's geometry app, and I'm not seeing an obvious way to handle this particular scenario.

Suppose you're measuring a yard or lot for some landscaping or whatever, and you can't be certain that it's truly rectangular (i.e. right angles). But you can at least assume you have straight line borders to work with - or you're at least going to treat them as straight. So first you designate one of the corners as (0, 0), say the SW corner for the sake of example. Then you measure the length of the southern border of the lot, and create a triangle with one of the sides (0, 0)-(x, 0), where x is the length of that southern border. Then you measure the distance from the NW corner to both the SW and SE corners, and set these as the lengths of the sides of your triangle. Repeat for NE to SW and SE, and fill in a line segment from NW to NE.

On the Casio geometry app (don't hate, it's actually pretty decent), you can pretty much do as described: throw a triangle on the page, manually set and lock one of the corners to (0, 0), set another to (x, 0), then set the lengths of the other two sides as measured, and it will adjust the coordinates of the NW corner as needed to fit your constraints.

What's the Prime way to tackle this kind of problem? I'm assuming you'd define points at (0, 0) and (x, 0), define a segment between them, but then what?

Tangent (har har) question: can Prime geometry files be exported to something that could be opened with, say, Visio?


RE: Geometry: triangulation for measuring a lot/yard - Dave Britten - 07-21-2018 01:40 PM

What, one mention of Casio and I scare everyone away??? Big Grin

I did a bit more playing around with the Prime and various TIs, and skimmed through the manuals, but the only brand that seems to let you manually enter coordinates/lengths/angle measures/etc. for various parts of your drawing is Casio. The Prime and Nspire have the advantage that you can drag and resize things in real-time (with Casio's geometry, you drag a point/line/box outline, and the whole drawing updates only when you finish moving). But Casio lets you do constraint-based geometry by entering known measurements, or forcing two or more line segments to stay equal in length. On the Prime you can at least go to the symbolic view and define objects using specific coordinates, but I don't see a way to define objects based on their other measurements. All of them let you include specific measurements directly in the drawing, and automatically update them as you change the drawing.

So the HP and TI geometry apps seem better suited for exploring and playing with geometry as you learn the concepts, and Casio is easier to use for something resembling very light CAD or surveying. (You can skip the TI-84 Cabri Jr. though. It's unusably slow.)


RE: Geometry: triangulation for measuring a lot/yard - roadrunner - 07-21-2018 03:59 PM

Interesting problem. I used the brute force method, example:

Measured distances:
S side = 8
W side = 7
E side = 9
NW to SE = 12
NE to SW = 11

Here’s what I did:

Go to cas define variables a and b to be x and y coordinates of the NW corner and variables c and d to be the coordinates of the NE corner. Start out assuming a square so:

b:=c:=d:=8 and a:=0

set up your 4 points:

Instruction:="GA:= point(0.,0.); // c(FF000000) v(1)
GB:= point(8.,0.); // c(FF000000) v(1)
GC:= point(a,b); // c(FF000000) v(1)
GD:= point(c,d); // c(FF000000) v(1)
"

Use fsolve to get a, b, c, and d:

fsolve({(distance(GA,point(a,b))) = 9,(distance(point(a,b),GB)) = 12},{a,b},{3,12})
fsolve({(distance(point(c,d),GB)) = 7,(distance(point(c,d),GA)) = 11},{c,d},{8,8})

set a, b, c, d to the answers from above

a:={0.0625,8.99978298349}[1]
b:={0.0625,8.99978298349}[2]
c:={8.5,6.98212002188}[1]
d:={8.5,6.98212002188}[2]

you should get something like this:

[attachment=6145]

I'll admit, it's not as elegant as Casio, but it gets the job done. If you're going to be doing it a lot you can always make it into a program.

-road


RE: Geometry: triangulation for measuring a lot/yard - Thomas Klemm - 07-21-2018 07:14 PM

Using \(SW=(0, 0)\), \(SE=(u, 0)\) and \(NE = (x, y)\) we conclude:
\[ \begin{eqnarray}
v^2&=&|NE-SW|^2&=&(x-0)^2+(y-0)^2&=&x^2+y^2 \\
w^2&=&|NE-SE|^2&=&(x-u)^2+(y-0)^2&=&x^2-2ux+u^2+y^2
\end{eqnarray} \]
Taking the difference:
\[ \begin{eqnarray}
v^2-w^2=2ux-u^2 \\
2ux=u^2+v^2-w^2
\end{eqnarray} \]
This leads to:
\[ \begin{eqnarray}
x&=&\frac{u^2+v^2-w^2}{2u} \\
y&=&\sqrt{v^2-x^2}
\end{eqnarray} \]

Example:
u = 8
v = 11
w = 7


\[ \begin{eqnarray}
x&=&\frac{64+121-49}{16}=\frac{136}{16}=8.5 \\
y&=&\sqrt{121-72.25}=\sqrt{48.75}\approx6.9821
\end{eqnarray} \]

We can use the same equations for \(NW=(x,y)\) but use instead:
u = 8
v = 9
w = 12


\[ \begin{eqnarray}
x&=&\frac{64+81-144}{16}=\frac{1}{16}=0.0625 \\
y&=&\sqrt{81-0.00390625}=\sqrt{80.99609375}\approx8.9998
\end{eqnarray} \]

(07-21-2018 03:59 PM)roadrunner Wrote:  I used the brute force method

As we can see this isn't always needed. A little bit of algebra and maybe a four-banger to calculate the square roots is often enough.

Kind regards
Thomas


RE: Geometry: triangulation for measuring a lot/yard - Dave Britten - 07-21-2018 09:09 PM

Yeah, I could begrudgingly work out the calculations by hand; I was hoping I could make the geometry app do the dirty work for me. Smile There would be lots and lots of measurements and calculations for doing a whole landscaping map of a yard.


RE: Geometry: triangulation for measuring a lot/yard - haroflow - 07-22-2018 05:15 AM

Hi! My first post here... =)

Isn't this problem solvable using ruler and compass? Check this out:

Code:

SW = point(0, 0)
SE = point(8, 0)
NWSW = 9
NWSE = 12
NESW = 11
NESE = 7
NW = single_inter(circle(SW, NWSW), circle(SE, NWSE))
NE = single_inter(circle(SW, NESW), circle(SE, NESE))

NWSW, NWSE, NESW and NESE corresponds to distances between points.

The idea is to find the intersection (third vertex of the triangle) of the circles centered at SW with radiuses NWSW and NESW.
The same for SE and circles with radiuses NWSE and NESE.

Kind of hard to explain (for me), the attached images may be helpful...