Recent content by jianbaoxia

  1. jianbaoxia

    Speeding up the surface-to-surface intersection

    Thank you very much for your help. The more I delve into the geometric kernel, the more I realize the weaknesses in my mathematical foundation. There is still much for me to learn, and I hope to share and encourage each other with everyone in the forum. 😁
  2. jianbaoxia

    Speeding up the surface-to-surface intersection

    Thank you very much for your help. I have spent two weeks reading literature on surface/surface intersection and have found that it is indeed a challenging problem. Typical approaches include the algebraic method, the tracing method, the lattice method, the subdivision method, the homotopy...
  3. jianbaoxia

    Speeding up the surface-to-surface intersection

    OCC's surface-to-surface intersection algorithm seems a bit slow. I'm planning to work on speeding up the surface-to-surface intersection calculations. I was wondering if anyone has any suggestions. The main focus will be on cases where two NURBS surfaces intersect. o_O
  4. jianbaoxia

    Unexpectedly, some points of the TopoDS_Face are not on its Geom_Surface.

    Today I encountered a very strange situation that confuses me whether it is a flaw in OCCT or an issue with my usage. Next, I will do my best to describe this situation clearly and provide a demo. It starts like this: I have a TopoDS_Face `face_origin`, and I intend to generate a wire using...
  5. jianbaoxia

    Creating an OBB using BRepBndLib::AddOBB() yields poor results.

    There is no error of "BRepBndLib::AddOBB()", it's my function "GetEdges_of_obb" exit bugs.:ROFLMAO: The new GetEdges_of_obb is: TopoDS_Shape GetEdges_of_obb(const Bnd_OBB& obb) { gp_Pnt centerPnt = obb.Center(); double xh = obb.XHSize(); // x_half_size double yh = obb.YHSize()...
  6. jianbaoxia

    Creating an OBB using BRepBndLib::AddOBB() yields poor results.

    Hi Bros, I'm JianBaoXia.;) As title, I attempted to use BRepBndLib::AddOBB() to generate an OBB for four points that are not coplanar, but the results were confusing. Am I using it incorrectly? There is my demo: bool WriteStepFile(const TopoDS_Shape& shape, const std::string& filepath) {...
  7. jianbaoxia

    Error when build triangle meshes

    @JSlyadne Thank you very much for your suggestion. I will try to output it as an STL/OBJ file format. :)
  8. jianbaoxia

    Error when build triangle meshes

    It looks good, I don't know how to display it after triangulation. So I connected all the triangles by their vertices to form edges, and then merged them into a TopoDS_Compound and exported it as a STEP model. Now it seems that I made a mistake in this step. 😁 (y)
  9. jianbaoxia

    Error when build triangle meshes

    Hello everyone, I'm JianBaoXia. Today I attempted to triangulate a B-spline surface, but the results were not satisfactory. The outcome is shown in the image below: It is evident that triangulation seems to fail in regions with high curvature. I am unsure if this is a limitation of the OCCT...
  10. jianbaoxia

    Using gradient descent algorithm to find the lowest point on a surface.

    Thank you very much for your professional response and suggestions. As you mentioned, I indeed want to implement the gradient descent algorithm within the two-dimensional UV parameter domain of the surface. This requires obtaining the partial derivatives of the surface along the u and v...
  11. jianbaoxia

    Using gradient descent algorithm to find the lowest point on a surface.

    Hello, I‘m JianBaoxia. I'm trying to find the lowest point (the point with the minimum z-coordinate) on a surface. It seems that directly traversing all (u, v) coordinates uniformly may not guarantee accuracy and efficiency. So, I'm attempting to use the gradient descent algorithm to find...
  12. jianbaoxia

    Nurbs Mobius Vs Nurbs OCC

    @dedelecoder May I ask where I can find the library Nurbs Mobius? Could you please provide a link? I am also studying The NURBS Book in my free time and trying to implement some of the algorithms mentioned in it. Thank you very much.
  13. jianbaoxia

    This is a forum thread about building and using BVH(Bounding Volume Hierarchy) in OCCT.

    I find the Möller Trumbore Algorithm to get the intersect point bettwen ray and triangle. But I'm still curious about what algorithm is used in MeshDist::intersectTriangle() on lesson 17, but I lack relevant knowledge to determine it. o_O
  14. jianbaoxia

    This is a forum thread about building and using BVH(Bounding Volume Hierarchy) in OCCT.

    I found a paper of the creater of "BVH_BinnedBuilder" Denis BOGOLEPOV, it's about SAH BVH, share with you.
Top