My Math Forum  

Go Back   My Math Forum > High School Math Forum > Trigonometry

Trigonometry Trigonometry Math Forum


Reply
 
LinkBack Thread Tools Display Modes
September 23rd, 2017, 08:56 PM   #1
Member
 
Joined: Nov 2015
From: USA

Posts: 96
Thanks: 6

Coordinate conversions (similar to polar coordinates)

I use a coordinate system that is very similar to polar coordinates, but has a unified reference.

Basically, a point's coordinates is an angle and a distance.

At the moment I'm just doing 2d. The coordinates help me build things easier programmatically. I know this has programming but it is the math that is tripping me up.

In any case, I am putting together some computer functions that converts a point's coordinates from one origin point to another origin point.

However, in the tests, the results seem to be backwards. The test points that should be between the two origins have their new coordinates on the far side, while the test points on the far side has it's new coordinates place it in between.

For example, I have the second origin point at 90 degrees and 20 units distant from the primary origin point. From that second origin, the test point A is at 90 degrees and 10 units out. Therefore, it's total distance from the primary origin should be 30 units, but I get 10 instead. Meanwhile, the test point B that is at 270 degrees from the second origin and 10 units distant, placing it directly between the two origin points, comes up as a distance of 30.

The numbers all come up correctly, just for a reciprocal point.

The method I'm using is solving SAS triangles. I know two sides (originA to originB and point to originB), and the angle between those sides. Thus I use law of cosines then law of sines.

Any ideas why this might be the case?

For reference,
F is primary origin, L is secondary origin, and P is the point whose coordinates are being translated.

x is distance, y is angle (for the coordinates)
a is an intermediate angle of the triangle.
These stack together for easy recognition of values.
I.E.
Lx is the distance from F to L.
Px is the distance from P to L,
Fx is from F to P.
Ly is the angle of L from reference with F as the vertex,
Py is the angle of P from reference with L as vertex.
Fy is the angle of P from reference with F as the vertex. (one of the values I want to find)
Pa is the angle from Px to Fx, with P as the vertex.
Fa is the angle from Fx to Lx with F as the vertex.
La is the angle from Lx to Px with L as the vertex.

getInverseAngle just returns the reciprocal angle (I.E. 90 degrees returns as 270 degrees)
correctAngle just ensures no negative angle nor angle of more than one full rotation, thus all angles are between 0 and 360 degrees.

I have the angles measured as 1 = 360 degrees, and thus get converted to radians for the sin, asin, and cos functions as needed.

Quote:
if (Ly < Py && Py < getInverseAngle(Ly)){
La = correctAngle(getInverseAngle(Ly) - Py);
Fx = sqrt((Px*Px) + (Lx*Lx) + (2 * Px*Lx*cos(La*(2 * PI))));

if (Px <= Lx){//if Px is not larger than Lx, then can go straight to Fa, Px is used as known angle/side
Fa = (sin(La*(2 * PI)) / Fx)*Px;
Fa = asin(Fa) / (2 * PI);
Fy = Fa + Ly;
}//close if Px is smaller
else {
Pa = (sin(La*(2 * PI)) / Fx)*Px;
Pa = asin(Pa) / (2 * PI);
Fa = .5 - La - Pa;
Fy = Fa + Ly;
}//close if Lx is smaller
}
else {
La = correctAngle(.5-(Ly- Py));
Fx = sqrt((Px*Px) + (Lx*Lx) + (2 * Px*Lx*cos(La*(2 * PI))));

if (Px <= Lx){//if Px is not larger than Lx, then can find Fa directly, Px is used as known angle/side
Fa = (sin(LoA*(2 * PI)) / Fx)*Px;
Fa = asin(Fa) / (2 * PI);
Fy = correctAngle(Ly - Fa);
}//close if Px is smaller
else {//if Px is larger than Lx, then need to find the smaller angle first, then find Fa,
Pa = (sin(La*(2 * PI)) / Fx)*Lx;
Pa = asin(Pa) / (2 * PI);
Fa = .5 - La - Pa;
Fy = correctAngle(Ly - Fa);
}//close if Lx is smaller
MystMage is offline  
 
September 24th, 2017, 05:04 AM   #2
Math Team
 
Joined: Jan 2015
From: Alabama

Posts: 2,878
Thanks: 766

What do you mean by "a unified reference"?
Country Boy is offline  
September 25th, 2017, 01:38 AM   #3
Member
 
Joined: Nov 2015
From: USA

Posts: 96
Thanks: 6

In polar coordinates, the horizontal angle starts in one direction and the vertical angle starts from straight up, thus the two angles are completely divorced from each other as though you would ponder only one at a time. Given it's use in astronomy, it sort of makes sense, in a weird way that totally requires explaining, several times.

My coordinates were designed to be conceptually easy to use as though from a ship or vehicle, thus the horizontal angle goes from straight ahead to the right, and then vertical coordinates go up or down from there. The two are unified conceptually and thus easy to envision, understand, and use (not to mention much easier to program algorithms).
MystMage is offline  
September 25th, 2017, 02:25 AM   #4
Senior Member
 
Joined: Jun 2015
From: England

Posts: 704
Thanks: 202

Use this for programming.
Attached Images
File Type: jpg fifth1.jpg (99.2 KB, 15 views)
File Type: jpg fifth2.jpg (23.6 KB, 8 views)
studiot is offline  
September 30th, 2017, 12:53 PM   #5
Member
 
Joined: Nov 2015
From: USA

Posts: 96
Thanks: 6

Problem solved, I just had the wrong sign in using the rule of cosines. No idea how I missed that.

Thank you studiot, I'll check those out, though I'm curious why that method needs a test for each quadrant, mine only needs whether the point is cw or ccw from the angle to second origin (though I also test if the points are in line because that removes all the complex math in those cases). Interesting.
MystMage is offline  
October 1st, 2017, 02:59 AM   #6
Senior Member
 
Joined: Jun 2015
From: England

Posts: 704
Thanks: 202

Quote:
Originally Posted by MystMage View Post
Problem solved, I just had the wrong sign in using the rule of cosines. No idea how I missed that.

Thank you studiot, I'll check those out, though I'm curious why that method needs a test for each quadrant, mine only needs whether the point is cw or ccw from the angle to second origin (though I also test if the points are in line because that removes all the complex math in those cases). Interesting.
If you look carefully it is the standard method that requires the tests.
There are four quadrants, therefore 3 tests are required to decide which quadrant the triangle to be solved lies in. That is what the flow diagram is about.

The replacement method offers replacement formulae which can be used directly with no tests at all.
studiot is offline  
October 2nd, 2017, 12:49 AM   #7
Member
 
Joined: Nov 2015
From: USA

Posts: 96
Thanks: 6

Now I just need to figure how to apply it to 3d.

As for my program, I will still need to do those two tests, because I use the results to not simply solve the triangle, but also to make the new coordinates, which must either add or subtract the triangle's angle depending on the direction the triangle faces. Or maybe not... We'll see.
MystMage is offline  
October 2nd, 2017, 01:24 AM   #8
Senior Member
 
Joined: Jun 2015
From: England

Posts: 704
Thanks: 202

Quote:
but also to make the new coordinates,
Gosh, try reading the article it does exactly that, for exactly the reason you mention, and is all explained there.

By all means ask questions about the article.



To go to 3D you will need to use additional equations corresponding to the additional angle required in spherical coordinates.
Or you can use it directly with one angle and two distances in cylindrical coordinates.
studiot is offline  
October 8th, 2017, 02:17 AM   #9
Member
 
Joined: Nov 2015
From: USA

Posts: 96
Thanks: 6

Perhaps I'm missing something, but I'm not seeing how it automatically converts coordinate origins. Honestly, I don't even know what the examples are doing. The only bit I got from the article, which I figured was the important bit, was that by assuming a circle had 5/4s total angle and flipping sin for cos at certain points allowed you to avoid testing for quadrant, something I'm not doing anyway. The only testing I'm doing is the direction of the triangle, because in one direction, I'll add a triangle angle to a coordinate angle, and in the other direction I'll subtract, either way this occurs after solving the triangle.

As I have no idea what numbers the article was trying to obtain in the first place (what are DE, DN, and R anyway?). It mentions calculating coordinates, but calculating from what is left unstated. The formulas used in the examples are nothing like solving a triangle.

I see potential there for other uses, but in circumventing solving the triangle? I'm not seeing that.

To be more clear about what I'm doing, just in case I gave the wrong impression in the first place (happens a lot with me), is I have a reference point, we'll call it a space station, and a second reference point, a space ship, and the space ship finds a rock. The space ship knows where the rock is relative to the ship, and the station knows where the ships is relative to the station, but the ship wants to relay the rock's position to the station so the station knows where the rock is relative to them. How I'm doing this is, I'm taking the three points, the station, ship, and rock, solving a triangle with those three points (knowing two sides, from ship to station and ship to rock, plus the angle between those sides), then adjusting for the triangle's orientation.
MystMage is offline  
October 8th, 2017, 08:16 AM   #10
Senior Member
 
Joined: Jun 2015
From: England

Posts: 704
Thanks: 202

Quote:
Originally Posted by MystMage View Post
Perhaps I'm missing something, but I'm not seeing how it automatically converts coordinate origins. Honestly, I don't even know what the examples are doing. The only bit I got from the article, which I figured was the important bit, was that by assuming a circle had 5/4s total angle and flipping sin for cos at certain points allowed you to avoid testing for quadrant, something I'm not doing anyway. The only testing I'm doing is the direction of the triangle, because in one direction, I'll add a triangle angle to a coordinate angle, and in the other direction I'll subtract, either way this occurs after solving the triangle.

As I have no idea what numbers the article was trying to obtain in the first place (what are DE, DN, and R anyway?). It mentions calculating coordinates, but calculating from what is left unstated. The formulas used in the examples are nothing like solving a triangle.

I see potential there for other uses, but in circumventing solving the triangle? I'm not seeing that.

To be more clear about what I'm doing, just in case I gave the wrong impression in the first place (happens a lot with me), is I have a reference point, we'll call it a space station, and a second reference point, a space ship, and the space ship finds a rock. The space ship knows where the rock is relative to the ship, and the station knows where the ships is relative to the station, but the ship wants to relay the rock's position to the station so the station knows where the rock is relative to them. How I'm doing this is, I'm taking the three points, the station, ship, and rock, solving a triangle with those three points (knowing two sides, from ship to station and ship to rock, plus the angle between those sides), then adjusting for the triangle's orientation.
Thank you for your example it makes your intended task clear.

As to your other points, you state that you don't follow the article yet you feel competent to pontificate about what it can and can't do.



Can you read a map ?

If I told you Sometown was 10 miles North and 3 miles West of Anothertown, would you be able to place Sometown on a map?


This is exactly what the method is doing.

By the Way a coordinate system can only have one Origin. That is why it is called The Origin.

Last edited by studiot; October 8th, 2017 at 08:19 AM.
studiot is offline  
Reply

  My Math Forum > High School Math Forum > Trigonometry

Tags
conversions, coordinate, coordinates, polar, similar



Search tags for this page
Click on a term to search for related topics.
Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Polar Coordinate Problem BonaviaFx Geometry 4 January 31st, 2015 06:34 AM
Conversions between intrinsic/extrinsic coordinates Jhenrique Linear Algebra 0 February 26th, 2014 02:04 PM
polar coordinate Curve aaron-math Calculus 2 December 14th, 2011 09:09 AM
Coordinates conversions claus Algebra 3 January 26th, 2011 01:12 PM
Converting cartesian coordinates to polar coordinates Eppo Algebra 5 January 9th, 2008 02:35 PM





Copyright © 2017 My Math Forum. All rights reserved.