我知道二维图的semilogx和semilogy.SURF和MESH有任何等价物吗?
我正在寻找一个简单的轻量级Wavefront OBJ网格文件阅读器,用于C或C++.(即给定一个OBJ格式的网格,从文件中读取它,并使其可访问,最好是顶点和三角形列表.)建议?
它不需要支持材料属性或可能存在的任何其他奇特数据 - 只需几何图形就可以了.
我正在尝试用顶点编写一个obj文件.我在我的代码中计算顶点法线并写入此文件.当我尝试在Meshlab中渲染这个文件时,它正确地读取顶点,但是当我转到'Render-> Show vertex normals'时,它没有显示我计算的法线.相反,MeshLab会计算自己的法线并显示它们.
我不确定如何可视化我计算/写入文件的法线.我想稍后根据我的计算法线应用Meshlab着色器.
为了测试这个,我创建了一个测试obj文件 -
vn 0.517350 0.517350 0.517350
v 0.500000 0.500000 0.500000
vn -0.333333 0.666667 0.666667
v -0.500000 0.500000 0.500000
vn 0.666667 -0.333333 0.666667
v 0.500000 -0.500000 0.500000
vn -0.666667 -0.666667 0.333333
v -0.500000 -0.500000 0.500000
f 1//1 2//2 3//3
f 4//4 3//3 2//2
Run Code Online (Sandbox Code Playgroud)
这只是一个方格.现在,如果我更改此文件中的正常值,当我选择"渲染 - >显示顶点法线"时,它仍会显示自己的顶点法线.我如何拥有自己的法线并应用适用于我的计算法线的着色器?请帮忙.
谢谢!!
使用以下代码,我可以绘制单个2D高斯函数的图:
x=linspace(-3,3,1000);
y=x';
[X,Y]=meshgrid(x,y);
z=exp(-(X.^2+Y.^2)/2);
surf(x,y,z);shading interp
Run Code Online (Sandbox Code Playgroud)
这是制作的情节:

但是,我想绘制一个具有指定数量x的这些2D高斯的网格.将以下图片视为我想要制作的图的上图(特别是网格由5x5 2D高斯制成).应该用一个系数对每个高斯进行加权,如果它是负的,则高斯指向z轴的负值(下面网格中的黑点),如果它是正的,则如上图所示(下面网格中的白点) .

让我提供一些数学细节.网格对应于2D高斯的混合,如下式所示:

其中每个高斯都有自己的均值和偏差.
注意,混合物的每个高斯分布应该被放置在确定的(X,Y)坐标中,使得它们彼此相等.例如,考虑(0,0)中的中心高斯,然后其他的应该在(-1,1)(0,1)(1,1)( - 1,0)(1,0)(-1, -1)(0,-1)(1,-1)在网格尺寸为3x3的情况下.
你能告诉我(并向我解释)我怎么能做这样的情节?在此先感谢您的帮助.
有没有使用网状网络将ios设备连接到Android设备的框架?
像firechat这样的应用程序可以让用户只使用bluethoot和wifi(通过苹果的多重连接框架)互相交谈.但有没有办法使用某种多重连接将ios设备连接到Android设备?
我正在尝试构建像firechat这样的应用程序,以供大学里的一些朋友使用,但它需要将ios设备连接到Android设备.如果只有ios设备,多重连接框架就可以了,但在这种情况下,我不知道要使用哪个框架来连接所有这些设备
我想用2个网格创建一个Pine,1个用于树干,另一个用于灌木丛,这就是我所做的:
var pine_geometry = new THREE.Geometry();
var pine_texture_1 = THREE.ImageUtils.loadTexture('./res/textures/4.jpg');
var pine_geometry_1 = new THREE.CylinderGeometry(25, 25, 50, 6);
var pine_material_1 = new THREE.MeshBasicMaterial({
map : pine_texture_1
});
var pine_1 = new THREE.Mesh(pine_geometry_1);
pine_1.position.x = x;
pine_1.position.y = y + 25;
pine_1.position.z = z;
pine_1.updateMatrix();
pine_geometry.merge(pine_1.geometry, pine_1.matrix);
var pine_texture_2 = THREE.ImageUtils.loadTexture('./res/textures/5.jpg');
var pine_geometry_2 = new THREE.CylinderGeometry(0, 70, 250, 8);
var pine_material_2 = new THREE.MeshBasicMaterial({
map : pine_texture_2
});
var pine_2 = new THREE.Mesh(pine_geometry_2);
pine_2.position.x = x;
pine_2.position.y = y + 175; …Run Code Online (Sandbox Code Playgroud) 我试图通过将三个ConeMeshes合并为一个实体来创建可自定义的Qt3D组件.用户必须能够与自定义实体进行交互,因此我已将ObjectPicker添加到文件中.通常,我会使用预定义的缩放.obj文件,但我的经理希望Qt直接绘制对象.
我要组合的两个网格是在一个单独的qml文件中定义的,所以我可以在我的Scene3D中调用它.
Entity {
ObjectPicker {
id: combinedPicker
}
ConeMesh {
id: conemesh1
...
}
ConeMesh {
id: conemesh2
...
}
Transform {
id: conetransform1
}
Transform {
id: conetransform2
}
Entity {
components: [conemesh1, conetransform1, conemesh2, conetransform2, combinedPicker]
}
}
Run Code Online (Sandbox Code Playgroud)
我将网格放在一起的方法是将它们作为组件包含在单独的实体范围中,如最后一行所示.但是这种方法只渲染组件数组中的最后一个条目.在上面,那将是锥2.
以前我尝试创建多个Entity实例,并将每个id传递给ObjectPicker,
Entity {
components: [conemesh1, conetransform1, combinedPicker]
}
Entity {
components: [conemesh2, conetransform2, combinedPicker]
}
Run Code Online (Sandbox Code Playgroud)
但是根据ObjectPicker的文档,对象选择器不是由多个组件共享的.
所以我的问题是:在Qml中将多个网格合并为一个网格时,有什么相关方法?
有没有一种简单的方法来改变PIXI JS曲线文本中的字体大小?文本是通过创建的new PIXI.mesh.Rope(pixiText.texture, points).使用调整大小按钮(查看下面的图像),您可以更改对象的大小.我可以使用,scale但它会降低质量.
在基本文本对象中可以更改字体大小text.style.fontSize = newFontSize.
当谈到 3D 动画时,有很多我不熟悉的术语和概念(也许附加到这个问题的第二个问题:有哪些好书可以熟悉这些概念?)。我不知道“UV”是什么(在 3D 渲染的上下文中),也不熟悉用于将图像上的像素映射到网格上的点的工具。
我有一个 360 度相机生成的以下图像(它实际上是 HTMLvideo元素的输出):
我希望该图像的中心是球体的“顶部”,并且该图像中圆的任何半径都是沿着球体从上到下的弧。
这是我的起点(直接从 Three.JS 文档复制代码行):
var video = document.getElementById( "texture-video" );
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var texture = new THREE.VideoTexture( video );
texture.minFilter = THREE.LinearFilter;
texture.magFilter = THREE.LinearFilter;
texture.format = THREE.RGBFormat;
var material = new THREE.MeshBasicMaterial( { map: texture } );
var geometry …Run Code Online (Sandbox Code Playgroud) 我正在使用泊松曲面重建算法从点重建三角网格曲面。然而,泊松总是会生成一个无懈可击的表面,它通过插值填充所有孔。
对于一些由于数据丢失而导致的小孔,这种孔填充是可取的。但对于一些大孔,我不想填充孔,只希望表面保持开放。
上图展示了我的想法,左边是法线的点集,右边是重建的曲面。我希望该表面的顶部保持开放,而不是当前的水密结果。
谁能给我一些建议,如何在泊松曲面重建中保留这些大洞?或者有其他算法可以解决这个问题吗?
PS 根据这个问题的公认答案,我理解表面重建算法可以分为显式重建算法和隐式重建算法。泊松是隐式的,显式的自然可以处理大洞问题。但由于我拥有的点数据大多稀疏且嘈杂,因此我更喜欢像泊松这样的隐式数据。