我最近在Haskell中完成了X11编程的第一步,现在我想用Cairo/Pango绘制文本.我发现了一些C教程,似乎我需要使用创建一个Xlib表面cairo_xlib_surface_create()
.开罗
有一个Haskell包装器,但是这个函数的包装器似乎缺失了.
但是,由于表面的文档提到了Xlib后端,因此似乎还有一种方法可以直接在Ca11的X11窗口上绘制.
但我找不到任何进一步的信息.
我想估计未定义表面的梯度(斜率和纵横比)(即函数未知).要测试我的方法,这里是测试数据:
require(raster); require(rasterVis)
set.seed(123)
x <- runif(100, min = 0, max = 1)
y <- runif(100, min = 0, max = 1)
e <- 0.5 * rnorm(100)
test <- expand.grid(sort(x),sort(y))
names(test)<-c('X','Y')
z1 <- (5 * test$X^3 + sin(3*pi*test$Y))
realy <- matrix(z1, 100, 100, byrow = F)
# And a few plots for demonstration #
persp(sort(x), sort(y), realy,
xlab = 'X', ylab = "Y", zlab = 'Z',
main = 'Real function (3d)', theta = 30,
phi = 30, ticktype …
Run Code Online (Sandbox Code Playgroud) 我想从点云产生视觉上吸引人的表面重建.
我正在使用点云库.我尝试使用泊松重建方法创建网格,但后来发现它提供了水密重建.
例如:在我的情况下,我有一个房间的点云
使用http://justpaste.it/code1上的代码,我得到了这样的重建
pic 1 http://www.pcl-users.org/file/n4033883/snapshot00.png
上面的图片具有覆盖顶视图的表面.这是使用MeshLab可视化的.然后稍后在MeshLab GUI上按下点时,它看起来像这样. pic 2 http://www.pcl-users.org/file/n4033883/snapshot01.png
但是在第二张图片中也有表面上的点(附图中没有清晰可见).
你能帮助创建一个顶部没有点并且只有内部结构的模型吗?
还有其他改善重建质量的建议吗?
可以从https://dl.dropboxusercontent.com/u/95042389/temp_pcd_ply_files.tar.bz2下载房间的点云和生成的ply文件
我想将表面笔功能集成到我的应用程序中.它是用Delphi 10 Seattle编写的.我在网上搜索过,找不到任何东西.
有谁知道如何为笔编程?具体来说,要捕捉压力水平,笔下,笔和笔移动事件.
一直试图在网上找到这个.
我有一个带有一些内容的SDL_Surface(在一个文本中,另一个是精灵的一部分).在游戏循环中,我将数据放到屏幕上.但它然后再次循环,它不会替换旧数据,而只是写入它.因此,在文本的情况下,它变得一团糟.
我已经尝试过SDL_FreeSurface并且它没有用,有人知道另一种方式吗?
fpsStream.str("");
fpsStream << fps.get_ticks();
fpsString = fpsStream.str();
game.fpsSurface = TTF_RenderText_Solid(game.fpsFont, fpsString.c_str(), textColor);
game.BlitSurface(0, 0, game.fpsSurface, game.screen);
Run Code Online (Sandbox Code Playgroud) 我试图在MATLAB中绘制3D曲面,并且我使用了meshgrid
,类似于MATLAB教程在这里所说的:http://www.mathworks.com/help/matlab/ref/meshgrid.html
我写了一个非常简单的三行脚本,我认为它会产生表面z = x + y,它如下:
[x , y] = meshgrid( linspace( 0 , 10 , 10 ) , linspace( 0 , 10 , 10 ) );
z = x + y;
surf( [ x , y , z] );
Run Code Online (Sandbox Code Playgroud)
根据我的理解,第1行产生(x,y)坐标的所有组合,从0到10均匀间隔.然后第2行将公式z = x + y
应用于该详尽的组合列表.然后第3行只绘制所有(x, y, z)
点.
但我得到以下"东西"作为输出:
我很确定上图中的图形不是z = x + y
,我不知道为什么没有两个轴上升到最大值10.
尽管如此,我发现脚本太简单了,看不出有什么问题.任何人都可以指出我忽略了什么吗?谢谢.
我是 CGAL 库的新手。然而,我认为这是一个非常适合我想做的事情的包。我有一组代表 3D 表面的点(如图 1 所示)。
我想在这个表面上拟合 3d 三角测量。该表面不是封闭的,因此不占据体积。poisson_reconstruction_example.cpp中提供的代码似乎适合这项工作。但问题是,作为 poisson_reconstruction 算法的一部分,它封闭了表面的末端和下方,使其成为一个体积(见图 2)。
我想知道:
1-有没有一种方法可以在仅由点定义的表面上进行三角测量,而无需获得包围有限体积的闭合表面? 这意味着最终的三角剖分具有边界边。我对可能需要的任何上采样或平滑感到满意。
2-如果第一个问题的答案是否定的,那么有没有办法保证输入点是生成三角形的顶点?
我正在尝试制作 3D 绘图,但颜色范围太小,仅覆盖 z 轴可以具有的值的一小部分。我该如何解决?
我附上代码和我得到的图像:
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(B , ENERGY, result_plot, cmap=cm.Spectral_r , linewidth=0.0 ,antialiased =False)
colorbar( surf, shrink=0.5, aspect=3)
ax.view_init(30, 45)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我们怎样才能使半径为 R 的球体以给定坐标(x,y,z)为中心。就像有 10 组球心坐标和相应的 10 个不同的半径值一样。我们如何在 python 中绘制它?有什么方法可以在 python 中执行此操作,就像在 MATLAB 中一样,可以使用 surf 命令来完成此操作。在Python中我们如何实现这一点?
我有一个由给定函数着色的曲面图。为了清楚起见,颜色图不包含函数的所有值,因此颜色图在末端被“裁剪”。
我想向查看者表明颜色图在颜色条本身和绘图上都不完整(“裁剪”)。
例如,以这个例子(MATLAB):
clearvars; clc;
x = linspace(-2,2,100);
y = linspace(-2,2,100);
[X,Y] = meshgrid(x,y);
Z = exp(-X.^2 - Y.^2);
C = (X+0.5).^2 + Y.^2;
fig = figure(1);
ax = subplot(1,1,1);
s = surf(X,Y,Z,C,'EdgeAlpha',0.2);
colorbar(ax);
ax.CLim = [0, 1];
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想表明大黄色区域不是恒定的 1,而是大于 1,而不会丢失通过限制色标获得的蓝色区域的颜色分辨率。
我没有尝试任何具体的事情,因为我不知道如何解决这个问题。这不仅是一个编码问题(“如何编码?”),而且也是一个关于裁剪颜色图的一般问题(“我到底应该做什么?”)。
多谢!