小编XuM*_*MuK的帖子

最简单的方法绘制3d表面给出3d点

我有很多(289)3d点与xyz坐标看起来像:

3D点

用积分简单地绘制三维空间就可以了,但我有表面问题有一些要点:

for i in range(30):
        output.write(str(X[i])+' '+str(Y[i])+' '+str(Z[i])+'\n')

-0.807237702464 0.904373229492 111.428744443
-0.802470821517 0.832159465335 98.572957317
-0.801052795982 0.744231916692 86.485869328
-0.802505546206 0.642324228721 75.279804677
-0.804158144115 0.52882485495 65.112895758
-0.806418040943 0.405733109371 56.1627277595
-0.808515314192 0.275100227689 48.508994388
-0.809879521648 0.139140394575 42.1027499025
-0.810645106092 -7.48279012695e-06 36.8668106345
-0.810676720161 -0.139773175337 32.714580273
-0.811308686707 -0.277276065449 29.5977405865
-0.812331692291 -0.40975978382 27.6210856615
-0.816075037319 -0.535615685086 27.2420699235
-0.823691366944 -0.654350489595 29.1823292975
-0.836688691603 -0.765630198427 34.2275056775
-0.854984518665 -0.86845932028 43.029581434
-0.879261949054 -0.961799684483 55.9594146815
-0.740499820944 0.901631050387 97.0261463995
-0.735011699497 0.82881933383 84.971061395
-0.733021568161 0.740454485354 73.733621269
-0.732821755233 0.638770044767 63.3815970475
-0.733876941678 0.525818698874 54.0655910105
-0.735055978521 0.403303715698 45.90859502
-0.736448900325 0.273425879041 …
Run Code Online (Sandbox Code Playgroud)

python plot python-2.7 geometry-surface

15
推荐指数
2
解决办法
4万
查看次数

Python 使用仅限 python 的模块渲染 svg 图像

问题很简单,但是我google了很多方法,都没有这样的解决方案:

import svg-render-library
figure = svg-render-library.open('test.svg')
figure.render()
Run Code Online (Sandbox Code Playgroud)

有没有只使用 python 库显示 SVG 图像的简单方法?我问的是渲染 SVG 图像而不需要任何转换为​​其他格式,并使用纯 python 渲染,而不需要任何第三方软件。正如我所尝试的,目前这似乎是不可能的。

作为内置 python,我的意思是 - 只有通过 pip 可用的 python 包,因此不需要安装/编译其他任何东西。为了渲染,我的意思是在窗口内显示Python的哪一部分,而不是浏览器或任何外部软件。

python svg rendering

6
推荐指数
1
解决办法
360
查看次数

平面拟合到4个(或更多)XYZ点

我有4个点,非常接近于一个平面 - 它是1,4-二氢吡啶循环.

我需要计算从C3和N1到平面的距离,该平面由C1-C2-C4-C5组成.计算距离是可以的,但拟合平面对我来说很难.

1,4-DHP循环http://i.stack.imgur.com/dhNDo.png

1,4-DHP循环,另一种观点http://i.stack.imgur.com/6Xs0z.png

from array import *
from numpy import *
from scipy import *

# coordinates (XYZ) of C1, C2, C4 and C5
x = [0.274791784, -1.001679346, -1.851320839, 0.365840754]
y = [-1.155674199, -1.215133985, 0.053119249, 1.162878076]
z = [1.216239624, 0.764265677, 0.956099579, 1.198231236]

# plane equation Ax + By + Cz = D
# non-fitted plane
abcd = [0.506645455682, -0.185724560275, -1.43998120646, 1.37626378129]

# creating distance variable
distance =  zeros(4, float)

# calculating distance from point to …
Run Code Online (Sandbox Code Playgroud)

python geometry plane least-squares

4
推荐指数
3
解决办法
2万
查看次数

Python函数将应用于另一个变量

例如:

def some_function(a):
     if a == 1:
          return x ** 2
     else:
          return x - 1000

some_function(a)(b)
Run Code Online (Sandbox Code Playgroud)

因此,当我们拥有a==1,获得b**2并在所有其他情况下b-1000.

甚至可能在python中,获得一些未知变量,它将被另一个变换?

问题恰恰是没有触及b,直接功能将无法实现.

应该工作的代码是some_function(a)(b).

python function python-3.x

1
推荐指数
1
解决办法
67
查看次数

Python 将 x、y 和 z 列表转换为矩阵/表

我有格式列表:

[[x_0, y_0, z_0], [x_1, y_1, z_1] ... [x_n, y_n, z_n]]
Run Code Online (Sandbox Code Playgroud)

其中 x_0 == x_1:

[[0, 0, z_0], [0, 1, z_1], [0, 2, z_2]... [1, 0, z_o] ... [x_n, y_n, z_n]]
Run Code Online (Sandbox Code Playgroud)

我想将其转换为这样的矩阵(最好创建 csv 文件):

矩阵

主要问题 - 我不知道数组的总大小(它每次都会改变,但它总是方形的)。进行这种转变的最简单方法是什么?

该列表是点的 XYZ 坐标。

python matrix python-2.7 export-to-csv

1
推荐指数
1
解决办法
9447
查看次数