It looks like you're new here. If you want to get involved, click one of these buttons!

- 140.6K All Categories
- 104.4K Programming Languages
- 6.4K Assembler Developer
- 1.8K Basic
- 39.7K C and C++
- 4.2K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.6K Java
- 4.1K Pascal
- 1.3K Perl
- 1.9K PHP
- 505 Python
- 48 Ruby
- 4.3K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 309 Console programming
- 88 DirectX Game dev
- 1 Minecraft
- 108 Newbie Game Programmers
- 2 Oculus Rift
- 8.9K Applications
- 1.8K Computer Graphics
- 726 Computer Hardware
- 3.4K Database & SQL
- 520 Electronics development
- 1.6K Matlab
- 627 Sound & Music
- 254 XML Development
- 3.3K Classifieds
- 189 Co-operative Projects
- 178 For sale
- 189 FreeLance Software City
- 1.9K Jobs Available
- 599 Jobs Wanted
- 201 Wanted
- 2.9K Microsoft .NET
- 1.7K ASP.NET
- 1.1K .NET General
- 2.9K Miscellaneous
- 3 Join the Team
- 2 User Profiles
- 353 Comments on this site
- 59 Computer Emulators
- 1.8K General programming
- 147 New programming languages
- 597 Off topic board
- 163 Mobile & Wireless
- 37 Android
- 124 Palm Pilot
- 335 Multimedia
- 151 Demo programming
- 184 MP3 programming
- 0 Bash scripts
- 15 Cloud Computing
- 52 FreeBSD
- 1.7K LINUX programming
- 366 MS-DOS
- 0 Shell scripting
- 319 Windows CE & Pocket PC
- 4.1K Windows programming
- 884 Software Development
- 403 Algorithms
- 67 Object Orientation
- 85 Project Management
- 88 Quality & Testing
- 233 Security
- 7.5K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 2 Bootstrap Themes
- 55 CGI Development
- 19 ColdFusion
- 222 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 33 JQuery
- 285 WEB Servers
- 111 WEB-Services / SOAP

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

James S
Posts: **14**Member

in Algorithms

If I have x & y coordinates to 2 points,

point 1 would serve to be the center of an imaginary circle.

point 2 could be any point in relation to point 1.

I want to know the degree of an angle that would be created with the 2 points (assuming the 1st line of the angle is straight up from point 1, the 2nd line is the line connecting point 1 with point 2)

Example.

Point 1 = 50,100

Point 2 = 52,100 or 354,100

Degree would be 90 (a perfect right angle)

I'm sure there's a mathematical formula for this but I don't know it... can anyone help?

point 1 would serve to be the center of an imaginary circle.

point 2 could be any point in relation to point 1.

I want to know the degree of an angle that would be created with the 2 points (assuming the 1st line of the angle is straight up from point 1, the 2nd line is the line connecting point 1 with point 2)

Example.

Point 1 = 50,100

Point 2 = 52,100 or 354,100

Degree would be 90 (a perfect right angle)

I'm sure there's a mathematical formula for this but I don't know it... can anyone help?

About & Contact / Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2013 Programmersheaven.com - All rights reserved.

## Comments

272Membermost languages have them

- Spam

0 · Vote Down Vote Up · Share on Facebook13Member360*(1 - cos'(h/w)/pi)

where

cos'() is inverse cos()

h = |y2-y1|

w = |x2-x1|

pi = 3.1415

if you're after speed or your software does not support trig functions you can easily formulate a polynomial to approximate for quandrant 1 using series and mirror|translate for all other angles.

- Spam

0 · Vote Down Vote Up · Share on Facebook21Member: 360*(1 - cos'(h/w)/pi)

: where

: cos'() is inverse cos()

: h = |y2-y1|

: w = |x2-x1|

: pi = 3.1415

:

: if you're after speed or your software does not support trig functions you can easily formulate a polynomial to approximate for quandrant 1 using series and mirror|translate for all other angles.

:

If you aren't satified with this or you can't use the trig functions for some reason I will supply you with them (the real onece)in a few days when I get home (I'm at my sisters place.. no notes filling my desk). They are not easy to understand mind you and they certainly are not easy to use either.

- Spam

0 · Vote Down Vote Up · Share on Facebook1MemberDavid

- Spam

0 · Vote Down Vote Up · Share on Facebook21Member: David

:

:

let me see if I got this right:

you got degree a and degree b and you need to find (a+b)/2?

it's quite simple if that's what you need. If not I'm not understanding this correctly

- Spam

0 · Vote Down Vote Up · Share on Facebook3Member: David

:

:

Good question Dave, easy answer

((argument1 + argument2) % 360) / 2

the % is for modulus.

- Spam

0 · Vote Down Vote Up · Share on Facebook3Member: : David

: :

: :

: Good question Dave, easy answer

:

: ((argument1 + argument2) % 360) / 2

:

: the % is for modulus.

:

sorry, that is not right answer, let me check some notes when i get home tonight, i solved this before.

- Spam

0 · Vote Down Vote Up · Share on Facebook3Member: : : David

: : :

: : :

: : Good question Dave, easy answer

: :

: : ((argument1 + argument2) % 360) / 2

: :

: : the % is for modulus.

: :

:

: sorry, that is not right answer, let me check some notes when i get home tonight, i solved this before.

:

~~~~~~~~~~~~~~

One way to solve problem is break into two parts.

Trouble comes when the numerical difference between arguments is greater than 180. Also, an exact difference of 180 can go either direction.

INPUT ARG1, ARG2

IF ABS(ARG1 - ARG2) <= 180

ANSWER = (ARG1 + ARG2) / 2

ELSE

ANSWER = ???

ENDIF

The else clause is harder to work out. But the IFTHENELSE construct will at least identify the 'situation' where special processing is needed.

Hope that helps.

I haven't taken any trigonometry, but i'll bet there is a formula which can work in all situtations.

- Spam

0 · Vote Down Vote Up · Share on Facebook