JIGSAW: An unstructured mesh generator
JIGSAW
is an unstructured mesh generator and tessellation library; designed to generate high-quality triangulations and polyhedral decompositions of general planar, surface and volumetric domains. JIGSAW
includes refinement-based algorithms for the construction of new meshes, optimisation-driven techniques for the improvement of existing grids, as well as routines to assemble (restricted) Delaunay tessellations, Voronoi complexes and Power diagrams.
This package provides a MATLAB
/ OCTAVE
based scripting interface to the underlying JIGSAW
mesh generator, including a range of additional facilities for file I/O, mesh visualisation and post-processing operations.
JIGSAW
has been compiled and tested on various 64-bit
Linux
, Windows
and Mac
based platforms.
Quickstart
Ensure you have a c++ compiler and the cmake utility installed.
Clone/download + unpack this repository.
From MATLAB / OCTAVE:
Run compile.m
Run example.m
Note: installation of JIGSAW
requires a c++
compiler and the cmake
utility. JIGSAW
may also be installed as a conda
package. See here for details.
Function Listing
See details.m
for a description of the various functions available.
compile.m - compile and install JIGSAW's c++ backend using cmake.
example.m - a list of demo programs.
initjig.m - config. path and init. global constants.
jigsaw.m - an interface to JIGSAW's mesh generation + optimisation workflow.
tripod.m - an interface to JIGSAW's "restricted" Delaunay triangulation framework.
marche.m - an interface to JIGSAW's "fast-marching" Eikonal-type "gradient-limiters".
tetris.m - an interface to JIGSAW's "multi-level" meshing strategy.
loadmsh.m - load *.msh files.
savemsh.m - save *.msh files.
loadjig.m - load *.jig files.
savejig.m - save *.jig files.
project.m - apply cartographic projection operators to mesh obj.
bisect.m - refine a mesh obj. via bisection.
extrude.m - create a mesh obj. via extrusion.
drawmesh.m - draw mesh as 2- or 3-dim. "patch" object.
drawcost.m - draw cost metrics associated with a mesh.
Example Problems
The following set of example problems are available in example.m
:
example(0); % simple 2-dim. examples to get started
example(1); % simple 3-dim. examples to get started
example(2); % frontal-delaunay methods in the plane
example(3); % frontal-delaunay methods for surfaces
example(4); % frontal-delaunay methods for volumes
example(5); % user-defined mesh-spacing constraints
example(6); % dealing with sharp-features in piecewise smooth domains
example(7); % dealing with sharp-features in piecewise smooth domains
example(8); % (re)mesh marching-cubes style outputs
example(9); % creating prismatic volumes via extrusion
License
This program may be freely redistributed under the condition that the copyright notices (including this entire header) are not removed, and no compensation is received through use of the software. Private, research, and institutional use is free. You may distribute modified versions of this code UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE SAME FILE REMAIN UNDER COPYRIGHT OF THE ORIGINAL AUTHOR, BOTH SOURCE AND OBJECT CODE ARE MADE FREELY AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE MODIFICATIONS
. Distribution of this code as part of a commercial system is permissible ONLY BY DIRECT ARRANGEMENT WITH THE AUTHOR
. (If you are not directly supplying this code to a customer, and you are instead telling them how they can obtain it for free, then you are not required to make any arrangement with me.)
DISCLAIMER
: Neither I nor: Columbia University, the Massachusetts Institute of Technology, the University of Sydney, nor the National Aeronautics and Space Administration warrant this code in any way whatsoever. This code is provided "as-is" to be used at your own risk.
References
There are a number of publications that describe the algorithms used in JIGSAW
in detail. If you make use of JIGSAW
in your work, please consider including a reference to the following:
[1]
- Darren Engwirda: Generalised primal-dual grids for unstructured co-volume schemes, J. Comp. Phys., 375, pp. 155-176, https://doi.org/10.1016/j.jcp.2018.07.025, 2018.
[2]
- Darren Engwirda, Conforming Restricted Delaunay Mesh Generation for Piecewise Smooth Complexes, Procedia Engineering, 163, pp. 84-96, https://doi.org/10.1016/j.proeng.2016.11.024, 2016.
[3]
- Darren Engwirda, Voronoi-based Point-placement for Three-dimensional Delaunay-refinement, Procedia Engineering, 124, pp. 330-342, http://dx.doi.org/10.1016/j.proeng.2015.10.143, 2015.
[4]
- Darren Engwirda, David Ivers, Off-centre Steiner points for Delaunay-refinement on curved surfaces, Computer-Aided Design, 72, pp. 157-171, http://dx.doi.org/10.1016/j.cad.2015.10.007, 2016.
[5]
- Darren Engwirda, Locally-optimal Delaunay-refinement and optimisation-based mesh generation, Ph.D. Thesis, School of Mathematics and Statistics, The University of Sydney, http://hdl.handle.net/2123/13148, 2014.
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function pintu1() ticA = gen() G = [1 2 3;4 5 6;7 8 0]; drawmap(A); %按照打乱的矩阵显示拼图 while 1 [xpos,ypos] = ginput(1); col = ceil(xpos); row = 3-ceil(ypos)+1; num = A(row,col); if ro
Jigsaw 是W3C开发的HTTP 服务器,基于Java 的服务器,提供了未来 Web 技术发展的蓝图。
Jigsaw 是微软推出的一种可以提高大型语言模型性能(如 GPT-3、Codex 等)的新工具。 Jigsaw 部署了理解程序语法和语义的后处理技术,然后利用用户反馈来提高未来的性能;该工具旨在使用多模式输入为 Python Pandas API 合成代码。Pandas 是数据科学中广泛使用的 API,具有数百个用于 manipulating dataframes 或具有行和列的表的函数。 目标
Image jigsaw 是 jQuery 插件,可以把图片转换成拼图。 在线演示
jigsaw payment 支付系统,面向互联网商户提供的支付系统。 支付系统几乎是互联网应用必不可少的模块,也是各个互联网应用中少数可以标准化的系统。本系统是基于凤凰牌老熊的系列文章 而设计的,采用微服务架构。 命名为Jigsaw的目的是让使用者可以像搭积木一样,易于定制、易于扩展。 需要安装的软件 Apache Thrift Google Protocol Buffer MySQL, 新建用
来自Jigsaw项目: 使开发人员更容易为Java SE和EE平台构建和维护库和大型应用程序。 我正在尝试了解什么是Jigsaw项目,到目前为止,Jigsaw项目的目标似乎与我们使用Maven(或Gradle)依赖关系管理所做的有些重叠: 构建像Maven这样的工具是一种威胁吗
Java的包管理系统对我来说总是简单有效。JDK本身大量使用它。我们一直在使用它来模拟名称空间和模块的概念。 Jigsaw项目(又名Java平台模块系统)试图填写什么内容? 从官方网站: 本项目的目标是为Java SE平台设计和实现一个标准模块系统,并将该系统应用于平台本身和JDK。