天天看點

計算兩點之間的角度的代碼

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<code>/// 離心率   /// 傳回兩點間的角度</code>

<code>  </code><code>private</code>

<code>double</code> <code>pointtoangle(point aorigin, point apoint,</code><code>double</code>

<code>aeccentricity)</code>

<code>  {</code>

<code>  </code><code>if</code>

<code>(apoint.x == aorigin.x)</code>

<code>if</code> <code>(apoint.y &gt; aorigin.y)</code>

<code>  </code><code>return</code>

<code>math.pi * 0.5;</code>

<code>  </code><code>else</code>

<code>return</code> <code>math.pi * 1.5;</code>

<code>if</code> <code>(apoint.y == aorigin.y)</code>

<code>(apoint.x &gt; aorigin.x)</code>

<code>0;</code>

<code>return</code> <code>math.pi;</code>

<code>  </code><code>double</code>

<code>result = math.atan((aorigin.y - apoint.y) /</code>

<code>  (aorigin.x - apoint.x) * aeccentricity);</code>

<code>((apoint.x &lt;&lt;/span&gt; aorigin.x) &amp;&amp; (apoint.y &gt; aorigin.y))</code>

<code>result + math.pi;</code>

<code>if</code> <code>((apoint.x &lt;&lt;/span&gt; aorigin.x) &amp;&amp; (apoint.y &lt;&lt;/span&gt; aorigin.y))</code>

<code>if</code> <code>((apoint.x &gt; aorigin.x) &amp;&amp; (apoint.y &lt;&lt;/span&gt; aorigin.y))</code>

<code>result + 2 * math.pi;</code>

<code>return</code> <code>result;</code>

<code>  }</code>

<code> </code> 

  

繼續閱讀