2012-07-23 74 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)))