【问题标题】:Direction of angle after reflection反射后的角度方向
【发布时间】:2018-03-04 14:08:27
【问题描述】:

假设我有一个三角形并且我要在三角形的一侧画一条线,我将如何创建反射线,当这条线在 Maple 中击中三角形的一侧时。我只是在颜料中快速画了这个(所以它不准确)。有没有办法在枫树中做到这一点。谢谢 我目前有,

with(plots):
with(plottools):

a:=polygon([[0,0],[2,0],[1,2]]):
b:=polygon([[2,0],[4,0],[3,2]]):
e:=line([2.5,2],[2.5,1]):
f:=line([2.5,1],[1.72,0.484]):

display(a,b,e,f);

【问题讨论】:

    标签: geometry angle maple triangular


    【解决方案1】:

    我们的起始方向是向量Dir (dir.x, dir.y),反射面有单位法线N (n.x, n.y)

    反射后向量的切向分量被反转,法向分量保持不变。我们可以使用下面的公式来计算新的方向:

    dot = dir.x * n.x + dir.y * n.y
    
    //after reflection
    newdir.x = dir.x - 2 * dot * n.x
    newdir.y = dir.y - 2 * dot * n.y
    

    应用这样的变换来获得左右三角形边的一系列反射(使用相应的法线)

    【讨论】:

    • 非常感谢您的回复。我仍然对如何实际应用它感到有些困惑?这也是 Maple 还是 Matlab 中的?
    • 这只是一组公式。我认为在 Maple 中实现它们并不难。也许 Maple 有一些内在的可能性来处理向量 - 它会简化任务。
    • 如果你觉得这个答案对你有帮助@Jerry,你应该考虑接受它:what to do when someone answers my questionhow to accept my answer
    • 我确信这真的很简单,但是我需要很长时间才能理解它,如果你可以发布一个任何角度的任何线条的示例,然后我就可以工作了从那里出来。谢谢
    • @Jerry 如果您通过定义输入数据和计算来制作代码片段会更好。然后我们可以帮助纠正它并制定完整的解决方案。这就是 SO 的工作原理......
    猜你喜欢
    • 2015-09-28
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多