3d - Python: 怎么求直线上一个点?
PHP中文网
PHP中文网 2017-04-17 14:39:26
0
2
528

在一个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的包,没法派上用场

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(2)
伊谢尔伦

問題をベクトルに変換した方が良いと思います
ベクトル (x2-x1、y2-y1、z2-z1) を取得した場合、a=x2-x1; b=y2-z1。
次に、次の方程式を得ることができます。
x = x1 + で
y = y1 + bt
z = z1 + ct
この場合、Python で非常に単純なメソッド getPoint(t) を作成できます。
任意の t について、線上の対応する点を取得できます。

いいねを押す +0
迷茫

あなたが話している空間幾何学が解析公式 x+y+z=0 を指している場合、実際にはベクトルと呼ばれるより洗練された解決ツールがあります。 。空間幾何学と同じく高校の範疇に入るはずですが、単純な解析表現に比べて、ベクトル+点という表現方法には、何とも言えない上品さがあります。 。

numpy と呼ばれる科学ライブラリと、scipy と呼ばれる派生バージョンがあります。 。
http://www.numpy.org

高校の知識を思い出しました。
これまで何も書いていなかったので、そのまま吐き出します。 。

実際、ベクトルのようなものを自分で書いて判断することは難しくありません。 。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート