A functional language to implement the divide-and-conquer Delaunay triangulation algorithm

2005 ◽  
Vol 168 (1) ◽  
pp. 178-191 ◽  
Author(s):  
André L. Moura ◽  
José R. Camacho ◽  
Sebastião C. Guimarães ◽  
Carlos H. Salerno
2000 ◽  
Vol 10 (02n03) ◽  
pp. 239-250 ◽  
Author(s):  
CHRISTOPH A. HERRMANN ◽  
CHRISTIAN LENGAUER

We propose the higher-order functional style for the parallel programming of algorithms. The functional language [Formula: see text], a subset of the language Haskell, facilitates the clean integration of skeletons into a functional program. Skeletons are predefined programming schemata with an efficient parallel implementation. We report on our compiler, which translates [Formula: see text] programs into C+MPI, especially on the design decisions we made. Two small examples, the n queens problem and Karatsuba's polynomial multiplication, are presented to demonstrate the programming comfort and the speedup one can obtain.


2014 ◽  
Vol 51 (5) ◽  
pp. 537-554 ◽  
Author(s):  
Wenzhou Wu ◽  
Yikang Rui ◽  
Fenzhen Su ◽  
Liang Cheng ◽  
Jiechen Wang

1998 ◽  
Vol 30 (5) ◽  
pp. 333-341 ◽  
Author(s):  
P Cignoni ◽  
C Montani ◽  
R Scopigno

1988 ◽  
Vol 11 (3) ◽  
pp. 275-288
Author(s):  
Jyrki Katajainen ◽  
Markku Koppinen

Recently Rex Dwyer [D87] presented an algorithm which constructs a Delaunay triangulation for a planar set of N sites in O(N log log N) expected time and O(N log N) worst-case time. We show that a slight modification of his algorithm preserves the worst-case running time, but has only O(N) average running time. The methcxl is a hybrid which combines the cell technique with the divide-and-conquer algorithm of Guibas & Stolfi [GS85]. First a square grid of size about N by N is placed on the set of sites. The grid forms about N cells (buckets), each of which is implemented as a list of the sites which fall into the corresponding square of the grid. A Delaunay triangulation of the generally rather few sites within each cell is constructed with the Guibas & Stolfi algorithm. Then the triangulations are merged, four by four, in a quadtree-like order.


1994 ◽  
Vol 04 (03) ◽  
pp. 329-338 ◽  
Author(s):  
JOHN T. O’DONNELL

The parallel scan algorithm plays an important role in parallel programming, but previous explanations of it generally rely on informal methods that fail to establish its correctness. Equational reasoning in a pure functional language provides a formal vehicle for stating the parallel scan algorithm and proving that a parallel architecture executes it correctly. The two key ideas in the proof are (1) a collection of lemmas that show how folds and scans can be decomposed into smaller problems, supporting a divide-and-conquer strategy, and (2) a formal specification of the abstract parallel architecture in the same language used to specify the problem, making it possible to reason formally about how the architecture executes the algorithm.


2011 ◽  
Vol 52-54 ◽  
pp. 139-143
Author(s):  
Shao Ke Chen ◽  
Hui Qun Chen

A new method of triangulation for large scale scattered 3D points is proposed. This method is based on the available CAD model, with the thought of DC(divide and conquer).Alignment between the data and the CAD model, registration which establishes correspondence between the data points and those on the CAD trimmed NURBS surface entities;2D-Delaunay triangulation, performed on the corresponding points in the parametric domains(u, v)of each entity, application of the connectivity structure to the 3D data points for each mesh patch; Elimination of redundant triangles of each 3D mesh patch and stitching of patches together. Unlike many other methods, it is not constrained by certain types of measurement distribution or object shape. The experimental results testify that the approach is feasible and efficient.


Sign in / Sign up

Export Citation Format

Share Document