Skip to content
View salvipeter's full-sized avatar

Block or report salvipeter

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
salvipeter/README.md

A guide to my repositories

Since I have more than a hundred repositories now, I thought it would be helpful to create a sitemap, organized by topics.

Note that forks (for adding pull requests) are not included. Also, a good part of these repositories are abandoned projects, so don't expect that everything should work.

I'm pretty sure I won't update this after every new repo, so some things may be missing.

First here are some of the projects that may be of general interest:

  • dfo: One-file C++ implementations of several derivative-free optimization algorithms. Select one and just drop it in your project.
  • libgeom: A very lightweight C++ geometry library containing the esseentials - 2D & 3D points/vectors, 2x2 and 3x3 matrices, B-spline curves & surfaces, triangle meshes.
  • geo-framework: An extensible 3D geometry visualizer in C++/Qt, suitable for testing out ideas. Includes interrogation methods such as contouring, mean curvature map, isophote lines etc.
  • qds-viewer: A visualizer for a collection of (possibly trimmed) B-spline surfaces. Based on a predecessor of geo-framework. Supports exact normals and mean/Gaussian curvatures.
  • gyorstalpalo: Very compact grammar summaries for a few natural languages (in Hungarian). Currently includes Swahili, Indonesian and Persian.
  • scanned-dictionary: A webpage that helps you search for a word in a scanned dictionary. Easily extensible (currently supporting R. S. McGregor's Hindi-English, H. Wehr's Arabic-English, M. Haas' Thai-English, and the Aryanpur Concise Persian-English dictionaries). Note that scanned pages are not included for reasons of copyright.

Next comes the topic-based list:

CAGD

This is by far the largest group, so it is divided further.

Curve & surface fairing / aesthetic curves & surfaces

  • cl-nurbs-tests: Various fairing algorithm tests, based on CL-NURBS
  • class-a-curves: Testing various curve representations.
  • discrete-clothoids: Test implementation of discrete clothoid curves
  • ekcurves: Epsilon-kappa curves
  • ksurf: Mesh-based surfaces using kappa-curves
  • pseudo-g2: A testbed for experimenting with ribbon-based curves
  • quartic: Quartic (and cubic) B-spline interpolation tests
  • trigo-basis: Surface tests with the generalized trigonometric basis

Implicit curves & surfaces

  • csg-script: A simple implicit modeling test system scriptable in Scheme
  • dual-contouring: Minimal dual contouring library
  • dual-primal: Dual/primal optimization of MarchingCubes meshes
  • implicit-curvature: Curvature computation for implicit surfaces
  • implicit-fit: Experiments with fitting implicit surfaces on a loop of curves.
  • implicitize: Implicitization of polynomial surfaces
  • ipia: Implicit Progressive-Iterative Approximation
  • ldni: A CPU implementation of Layered Depth-Normal Images for experimenting
  • liming: Generalization of Liming-curves
  • marching: Marching cubes implementation
  • marching-surface: Experiments with the marching surface idea
  • polygonizer: A wrapper over Jules Bloomenthal's implicit surface polygonizer

Multi-sided surfaces / transfinite interpolation / parameterizations

  • biharmonic-spatch: Creating S-patches from Sabin nets
  • c0coons: Multi-sided C0 Coons patch with rational Bézier boundary curves
  • concave-gb: Concave GB patches
  • curved-domain: Curved domain tests
  • curved-patch: N-sided surface with a curved domain
  • displacement: Testbed for displacement patches
  • dual-surface: Multi-sided dual surface representation
  • gb-center: Minimal library computing the center point of GB (and other) patches
  • gordon-wixom: Gordon-Wixom C1 interpolation
  • harmonic: Harmonic coordinate computation library
  • libmec: Minimal Entropy Coordinate library
  • manifold: An n-patch-based construction similar to Zorin's
  • midpoint: Minimal library for MidPoint patches.
  • molihua: Polyhedral modeling with CD-GB patches
  • multiloop: Test the parameterization of domains with multiple loops
  • natural-neighbors: Framework for testing a natural neighbor based idea
  • nielson: Nielson's triangular patch
  • permanence: Permanence patch experiments
  • qgb: Quadratic GB patch
  • sabin-multiloop: Transfinite patch handling multiple loops, based on Sabin's 1998 paper
  • sketches-plugins: Surface plugins for the Sketches modeling system
  • spatch: S-patch in Haskell
  • tensor-conversion: Experiments on converting an n-sided patch to a trimmed tensor product surface
  • toric: Toric patch evaluator
  • transfinite: Transfinite interpolation surface library
  • xsolid: Framework for testing the ideas described in "The X construction"
  • zheng-ball: An implementation of the Zheng-Ball multi-sided surface

General Bézier/B-spline utilities

  • bezier-bspapprox: Approximate a Bézier curve with a B-spline of lower degree
  • bezier-extractions: Computation of Bézier extraction matrices
  • bezier-reduction: Optimal degree reduction for Bézier curves
  • bezier-triangle: Minimal Bézier triangle evaluation
  • bspline-connect: Lightweight library for connecting BSpline patches with G1/G2 continuity
  • cl-nurbs: A NURBS library in Common Lisp
  • clamp: Periodic to clamped B-spline curve conversion
  • libgeom: Geometry library containing the essentials
  • minibb: Minimal Bézier/B-spline curve library based on The NURBS Book
  • optimize-curve-depth: Find the best depth given a 2D B-spline curve and a view direction

Various fitting utilities

  • conic-fit: Implicit conic fit on a polyline
  • fit-sphere: Fitting a sphere with fixed radius on noisy data points.
  • fit-test: B-spline surface fitting testbed
  • least: Least polynomial interpolation
  • profile-fitter: Fit a polyline (maybe later some curve) on an unordered, noisy point cloud.
  • quadfit: Fit continuously connected B-spline surfaces on sampled points with boundary constraints
  • quadric-fit: Implicit quadric fit on a triangle mesh
  • vertebra-fit: Fitting a closed B-spline on a series of points defining vertebrae

Other

  • 3dviz: 3D animations demonstrating projections
  • geo-framework: Basic framework for 3D geometry applications
  • isophotes: Isophote line texture generator
  • isoptic: Isoptic surface generation for meshes
  • jet-wrapper: Jet fitting normals & curvatures (CGAL wrapper)
  • qds-viewer: Quad patch viewer
  • sample-framework: A minimal 3D framework for creating simple applications (deprecated, see geo-framework)
  • sfview: NURBS surface visualizer (old project, see qds-viewer)
  • strange-problem: Strange fitting problem
  • subdivision: Exercises from Analysis and Design of Univariate Subdivision Schemes (by M. Sabin)
  • trimult: Linux port of Ming Zou et al.'s 3D polygon triangulation library
  • weingarten: Testing (embedded) Weingarten maps

Games

  • dosszioz: Our SAYC-based bidding system
  • magic-keys: Magic Keys Bot Competition
  • malom: A simple Nine Men's Morris game implementation
  • obake-meiro: A maze generator for my daughter
  • tetris: A tetris implementation in Clojure

Programming contests

Programming languages

  • core-forth: A minimal Forth system implementing the 2012 standard
  • lispkit: A Scheme implementation of the SECD virtual machine, and a LispKit Lisp compiler
  • ngaro-asm-x86: An x86 assembly implementation of the Ngaro Virtual Machine
  • minivm: A minimal 8-bit virtual machine for didactic purposes

Other Applications

Writings (in Hungarian)

  • formalis: A short summary of interesting topics in generative grammars & automata
  • gyorstalpalo: Grammar notes for a few natural languages
  • persian-poems: Hungarian translation of Persian poems
  • programnyelv: A tutorial on creating a functional programming language based on combinatoric logic
  • prolog-konyv: Problem solving in Prolog for people new to programming
  • prolog-leckek: Introductory programming lessons in Prolog

Miscellaneous

  • bibtex: BibTeX entries of my publications
  • dfo: Testing some derivative-free optimization algorithms
  • laser-pointer: A transparent window functioning as a laser pointer
  • magnify: Magnifying glass effect
  • parse-args: A small Common Lisp utility library similar to getopt
  • progfun-assignments: Assignments of the Coursera course Functional Programming Principles in Scala
  • sicp: A CL translation of the examples/solutions in the Wizard Book

Popular repositories Loading

  1. libgeom libgeom Public

    Geometry library containing the essentials (2d & 3D points/vectors, meshes, B-splines)

    C++ 12 3

  2. transfinite transfinite Public

    A library for evaluating transfinite surfaces.

    C++ 7 4

  3. dual-contouring dual-contouring Public

    Minimal dual contouring library.

    C++ 6 2

  4. core-forth core-forth Public

    A minimal Forth system implementing the 2012 standard.

    Forth 6 1

  5. lispkit lispkit Public

    A Scheme implementation of the SECD virtual machine, and a LispKit Lisp compiler.

    Scheme 5

  6. geo-framework geo-framework Public

    Basic framework for 3D geometry applications

    C++ 5 3