我试图通过在某些时间步骤调整初始网格来改进我的 FreeFem++ 代码,但 FreeFem++ 出现以下错误消息:
Exec error : Try to get unset x,y, ...
Run Code Online (Sandbox Code Playgroud)
网格确实适应后。在新网格中计算解决方案时似乎会出现问题,但在其他情况下我没有遇到此问题。这就是我在 FreeFem++ 中调整网格并更新变量的方法:
Th = adaptmesh(Th,[u1,u2]);
plot(Th);
u1 = u1;
u2 = u2;
p = p;
Run Code Online (Sandbox Code Playgroud)
但现在我对在出现警告消息后如何继续感到困惑。
有人知道如何解决这个问题吗?任何建议将不胜感激。
谢谢!
我在 Chrome 版本 35.0.1916.153 m 中使用three.js r67
我试图与我在场景中创建的一些自定义网格相交。尽管它们存在于 scene.children 中,但 raycaster 似乎没有注册网格。
网格创建代码:
if (modelVertices != null && modelVertices.length >= 3) {
triangles = THREE.Shape.Utils.triangulateShape ( modelVertices, holes );
for( var i = 0; i < triangles.length; i++ ){
modelGeometry.faces.push( new THREE.Face3( triangles[i][0], triangles[i][2], triangles[i][2] ));
}
modelGeometry.computeFaceNormals();
var modelMesh = new THREE.Mesh(modelGeometry, material);
modelMesh.material.side = THREE.DoubleSide;
polyhedralzGroup.add(modelMesh)
}
Run Code Online (Sandbox Code Playgroud)
光线投射代码:
var projector = new THREE.Projector();
projector.unprojectVector( vector, camera );
var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );
//console.log("Work"); …Run Code Online (Sandbox Code Playgroud) 我正在尝试对点云进行网格划分,并计算高斯曲率和平均曲率。我正在使用 Meshlab。
我正在尝试测量平均点云密度,用于测量曲率 (APSS)。点云的“密度半径”函数令人困惑,也不包括读数。
有没有办法在 Meshlab 中做到这一点。道歉 - 我对这一切都很陌生。
我想根据以下描述计算网格的新质心。但我不想使用 Blender 的内置函数来计算质心,如此处所述,因为它们似乎没有给我我期望获得的质心。首先,我想计算网格的网格质心的面(三角形)的中心。然后我需要计算面部面积。新的质心是网格面中心的平均值,按其面积加权。我如何在 Python 中执行此操作(但不一定使用 Blender 的 Python API)?
我有一个三角形的 CGAL 表面网格,其中有一些自相交的三角形,我试图将其删除以创建一个连续的 2 流形壳,最终用于打印。
我尝试使用此答案中的remove_self_intersection()和autorefine_and_remove_self_intersections()。第一个仅删除了一些自相交,而第二个则完全删除了我的网格。
所以,我正在尝试自己的方法 - 我正在找到自交点,然后尝试删除它们。我尝试过使用低级别的remove_face,但之后无法检测到边框,因此我无法填补由此产生的漏洞。这个答案是指使用更高级别的欧拉remove_face,但这种方法和make_hole似乎完全丢弃了我的网格。
这是摘录(我正在使用break来查看是否可以删除至少一个三角形,并且我只是尝试使用该对中的第一个):
vector<pair<face_descriptor, face_descriptor> > intersected_tris;
PMP::self_intersections(mesh, back_inserter(intersected_tris));
for (pair<face_descriptor, face_descriptor> &p : intersected_tris) {
CGAL::Euler::remove_face(mesh.halfedge(get<0>(p)), mesh);
break;
}
Run Code Online (Sandbox Code Playgroud) 我有一个根据用户输入更新其形状的网格,如何让碰撞器匹配网格的新形状?
重要提示:网格始终是凸的(没有例外)。我发现为了让对撞机正常工作很重要。
我发现下面的视频在这里meshCollider.sharedMesh = null执行此操作,但是通过执行然后为每个帧简单地擦除并重新计算对撞机meshCollider.sharedMesh = updatedMesh。
由于我已经在计算网格的每个顶点、边和三角形的位置,我是否可以将这些值用于网格碰撞器?
我有三角形集合定义我的3D形状的网格表面,我想修复每个三角形的法线以指出outshape.
我正在尝试以下(伪):
1.定义第一个三角形法线方向是正确的方向
2.使用DFS这样的方式遍历网格:
3.三角形=第一个三角形
4. foreach neigbour in triangle.getNeighbours
5.如果邻居和三角形之间的角度大于180 neighbor.flip()
6.triangle = neighbor
7.如果邻居已被选中,则继续下一个邻居
8.继续递归到4.
但算法中的步骤5不起作用,因为无法知道角度是否大于180,因为我需要知道巫婆方向(顺时针或逆时针).
你能帮我理解如何修复算法吗?
C2表面/网格是CAD/OpenGL中众所周知的表面.但我只是想知道什么是C2意味着什么?
C意味着什么?
2意味着什么?
C2 =首字母缩略词???????
任何人都知道什么样的网格表示数据结构(半边,四边,翼边等)流行的软件,如Lightwave 3D,Maya,Softimage,3D工作室和其他人使用?
最近我一直在使用OpenCASCADE(准确地说是PythonOCC)进行一些CAD操作,包括网格形状,并偶然发现了这个类: BRepMesh_IncrementalMesh.
我没有找到关于什么theLinDeflection和theAngDeflection参数含义的任何暗示- 并且想要了解更多关于此的信息.
我将不胜感激任何关于这一主题的阅读材料/提示/解释.
mesh ×10
3d ×2
c++ ×2
graphics ×2
surface ×2
3d-modelling ×1
algorithm ×1
cad ×1
cgal ×1
freefem++ ×1
javascript ×1
math ×1
meshlab ×1
normals ×1
opencascade ×1
opengl ×1
point-clouds ×1
python ×1
raycasting ×1
three.js ×1