2012-07-23 65 views
1

我正在爲sketchup創建線工具,並且用盡了計算鑽石上其他點的想法。本質上(使用此線條工具)繪製線條,然後以設定的寬度創建基於中點和斜度的菱形形狀。我已經使用中點,斜率和距離計算出第一個點。現在,我需要在線上反映這一點,並找到另一個角落....我已經找到了各種公式,但沒有意義。我想知道這裏有沒有人可以幫忙。生病鏈接到我已經測試過的兩個來源,也許我錯過了一些東西。反映非水平線的一個點

http://mathworld.wolfram.com/Reflection.html

Algorithm for reflecting a point across a line

ž= B - 斜率*一個

VAR1 =(A +(M *(BZ)))

VAR2 = VAR1 /(1 +(斜率** 2))

xneg = 2 *(VAR2) - 一個

yneg = 2 *(VAR2)*坡 - B + 2 * Z

+0

你是如何計算的第一個點?爲什麼你不能用同樣的方法來計算第二個? – jva 2012-07-23 18:44:56

+0

本人通過使用畢達哥拉斯定理和斜率公式計算出第一點。最終你會得到一個等於第一個點的二次方程。我嘗試了顛倒x和y座標,但用取代第一個公式的方程會更容易。 – user1546594 2012-07-23 18:51:24

+0

是不是從第二個鏈接(接受的答案)的算法工作? – jva 2012-07-23 18:55:55

回答

0

看起來應該是

var1 = (a + (slope*(b-z)))