3d - Python: 怎么求直线上一个点?

 mobiledu2502882737 发布于 2022-11-03 22:43

在一个3D空间,已知两个点的坐标(x1,y1,z1)和(x2,y2,z2)。那么这两点确定一条直线
那么,怎么求这直线上一个点呢?比如z=c的这个点

具体空间几何的解决其实会,主要是想看看
1. Python可以怎么优雅的解决这个问题?
2. 有没有相关的立体几何建模、计算的包(lib)?因为还有相关的一些问题想要解决。这个算是抛砖引玉了
3. 如果Python不是很适合解决这类问题,那什么语言更为何时?

像http://stackoverflow.com/questions/1076778/good-geometry-library-in-py...
提到的,都是2D的包,没法派上用场

2 个回答
  • 如果你说的空间几何指的是解析式x+y+z=0的话,那么其实有个更优雅的解决的工具叫做向量。。和空间几何一样应该也属于高中的范畴,而且和简单的解析式相比,向量加上点这种表达方式有种说不出的优雅。。

    有个科学库叫numpy,衍生版叫scipy。。
    http://www.numpy.org

    勾起了高中的知识,
    我木有写过,就在这里抛砖引玉了。。

    其实向量这种东西自己写判断也不难。。

    2022-11-12 01:55 回答
  • 我觉得如果你把问题转化为向量更好解决
    如果你得到向量(x2-x1, y2-y1, z2-z1), 其中 a=x2-x1; b=y2-y1; c=z2-z1。
    那你可以得到方程:
    x = x1 + at
    y = y1 + bt
    z = z1 + ct
    这样的话,你可以用python写出一个很简单的method: getPoint(t)。
    对于任意的t都能得到该线上对应的点。

    2022-11-12 01:55 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有