我需要弄清楚如何将D3D纹理和曲面的数据恢复到系统内存.做这些事情的最快方法是什么?
另外,如果我只需要一个subrect,那么如何只读回那部分而不必将整个内容读回系统内存?
总之,我正在寻找如何将以下内容复制到系统内存的简明描述:
这是Direct3D 9,但关于D3D的新版本的答案也将受到赞赏.
我目前正在处理天文数据,其中我有彗星图像.由于拍摄时间(黄昏),我想删除这些图像中的背景天空渐变.我开发的第一个程序从Matplotlib的"ginput"(x,y)中取出用户选择的点,为每个坐标(z)提取数据,然后用SciPy的"griddata"将数据网格化为一个新数组.
由于假设背景略有变化,我想将3d低阶多项式拟合到这组(x,y,z)点.但是,"griddata"不允许输入订单:
griddata(points,values, (dimension_x,dimension_y), method='nearest/linear/cubic')
Run Code Online (Sandbox Code Playgroud)
关于可能使用的另一个函数的任何想法或开发leas-square拟合的方法可以让我控制订单?
我试图在matplotlib中绘制一些HDF数据.使用h5py导入它们后,数据以数组的形式存储,如下所示:
array([[151, 176, 178],
[121, 137, 130],
[120, 125, 126])
Run Code Online (Sandbox Code Playgroud)
在这种情况下,x和y值只是数组字段的索引,而z值是特定字段的值.在(x,y,z)形式中,它看起来像:
(1,1,151)
(2,1,176)
(3,1,178)
(1,2,121)
...
Run Code Online (Sandbox Code Playgroud)
等等.
有没有一种简单的方法从这种数据做表面图?我知道我可以通过迭代整个数组将其改为(x,y,z)元组,但也许不需要它?
我有很多(289)3d点与xyz坐标看起来像:

用积分简单地绘制三维空间就可以了,但我有表面问题有一些要点:
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) 如果曲面的坐标随时间变化(例如椭圆体),如何使用MATLAB为曲面设置动画?
如何将3D散点图与3D曲面图结合起来,同时保持曲面图透明,这样我仍然可以看到所有点?
在R中使用2d矩阵,如何创建3d曲面图,其中columns = x,rows = y,值是z中的高度?
在下面的示例中,x值为1:5,y值为1:5,数字表示z中的高度/值.
> m<-matrix(rnorm(25),nrow=5,ncol=5)
> m
[,1] [,2] [,3] [,4] [,5]
[1,] -1.495513045 0.8000040 -1.1499261 1.65661138 0.8140510
[2,] -1.150018195 -0.7582933 0.8306922 0.16026908 0.3913198
[3,] -0.852609406 0.5525621 0.3585986 -0.45054768 -1.2259927
[4,] -0.001926297 -0.5857351 2.1518281 0.03192463 0.2065039
[5,] -1.641128610 0.4333973 -1.0616628 -0.92143426 -0.9598991
Run Code Online (Sandbox Code Playgroud) 我在3D空间中有点和它们相应的2D图像点.如何从3D点中制作网格,然后纹理网格形成的三角形面?
我试图找到跳过单位球体表面上不同点的点的轨迹的参数方程,这样:
这就是我尝试过的
N = 3600; % number of points
t = (1:N) * pi / 180; % parameter
theta_sph = sqrt(2) * t * pi; % first angle
phi_sph = sqrt(3) * t * pi; % second angle
rho_sph = 1; % radius
% Coordinates of a point on the surface of a sphere
x_sph = rho_sph * sin(phi_sph) .* cos(theta_sph);
y_sph = rho_sph * sin(phi_sph) .* sin(theta_sph);
z_sph = rho_sph * cos(phi_sph);
% Check …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用plot_surface和模拟小行星plot_wireframe.我对小行星表面上的点有xy和z值.线框精确到小行星的形状,但表面图不适合线框.如何获得适合线框的曲面图或如何使用线框获得3d实体模型?这是我的模型代码:
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import cm
from matplotlib.mlab import griddata
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
data = np.genfromtxt('data.txt')
x = data[:,0]
y = data[:,1]
z = data[:,2]
ax.plot_wireframe(x, y, z, rstride=1, cstride=1, alpha=1)
xi = np.linspace(min(x), max(x))
yi = np.linspace(min(y), max(y))
X, Y = np.meshgrid(xi, yi)
Z = griddata(x, y, z, xi, yi)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm,
linewidth=0, antialiased=False) …Run Code Online (Sandbox Code Playgroud)