We help IT Professionals succeed at work.

# General Trigonomic Algorithm question...

on
376 Views
Okay so here's a question. I need an algorithm for rotating a point (p2) about an axis (p1). Here's the spaghetti code I have so far.

Radius = SquareRoot((p2.y - p1.y) ^ 2 + (p2.x - p1.x) ^ 2)
Radians = ArcCos((p1.y - p2.y) / radius) ' Angle between Vector(p1,p2) and unit vector (p1, {0, 1}). Rotating counter clockwise.
Radians = Radians + (2 * ((2 * PI) / 360)) 'Add two degrees to current angle of line

The code works fine for angles < 180 degrees. But as soon as I get to say 182 the line moves to an angle of 2 degrees counter clockwise from the unit vector... anyone know a better algorithm for this or how to fix this one to be able to run a full rotation? I need to be able to "add" angles to lines.
Comment
Watch Question

## View Solution Only

Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
CERTIFIED EXPERT

Commented:
I'm sorry I've never done anything like this before. Do you think you could write out the spaghetti code?

In principle I understand how this works but for some reason when I try to write it out it all goes sour.
CERTIFIED EXPERT

Commented:
Unlock the solution to this question.