点关于任意直线的对称点

参考
https://zhidao.baidu.com/question/1114436725077473379.html

如题,百度搜了答案却没给证明,自己尝试证一下。
点关于直线对称
首先直线方程写成 Ax+By+C=0这种形式。比较明显的条件为,依次为

  1. 类比三维空间面公式,可以发现这个直线的法向量平行于 n ⃗ = ( A , B ) \vec{n} = (A, B) n =(A,B)
  2. 点A,C的向量为 A C → = A − C \overrightarrow{AC}=A-C AC =AC
  3. A ′ = 2 C − A A'=2C-A A=2CA,由此可知只要求出C就知道 A ′ A' A
  4. C的求解可以通过以下两个关系:
    1)点C在直线上;
    2) n ⃗ \vec{n} n A C → \overrightarrow{AC} AC 平行。(交叉相乘相等)

最后能够求出
在这里插入图片描述
这里面点 A = ( a , b ) A=(a,b) A=(a,b)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Matlab 中实现三维空间里面任意连成直线关于其中一对称的对称点,并可视化出来,可以按以下步骤进行操作: 1. 定义两个的坐标。 2. 计算直线的参数方程。 3. 定义对称点的坐标。 4. 计算对称点的坐标。对称点的坐标是直线上距离对称点最近的直线上的坐标。 5. 可视化出直线对称点和对称线。可以使用 plot3 函数绘制直线对称点,使用 quiver3 函数绘制对称线。 以下是 Matlab 代码示例: ```matlab % 定义两个的坐标 point1 = [1, 2, 3]; point2 = [4, 5, 6]; % 计算直线的参数方程 syms t; line = point1 + t * (point2 - point1); % 定义对称点的坐标 symmetric_point = [2, 3, 4]; % 计算对称点的坐标 t_symmetric = solve(dot(line - symmetric_point, point2 - point1) == 0); symmetric_point_on_line = subs(line, t_symmetric); % 可视化出直线对称点和对称线 plot3([point1(1), point2(1)], [point1(2), point2(2)], [point1(3), point2(3)], 'r'); hold on; plot3(symmetric_point(1), symmetric_point(2), symmetric_point(3), 'bo', 'MarkerSize', 10, 'LineWidth', 2); quiver3(symmetric_point_on_line(1), symmetric_point_on_line(2), symmetric_point_on_line(3), ... symmetric_point(1) - symmetric_point_on_line(1), symmetric_point(2) - symmetric_point_on_line(2), ... symmetric_point(3) - symmetric_point_on_line(3), 'b', 'LineWidth', 2); axis equal; legend('Line', 'Symmetric Point', 'Symmetric Line'); title('Symmetric Point and Line of a Line'); xlabel('x'); ylabel('y'); zlabel('z'); ``` 这段代码将会计算出直线关于其中一对称点和对称线,并可视化出来。可以通过修改 point1、point2 和 symmetric_point 的值来计算不同的对称点

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值