GeometricAlgorithms
dotSCAD
GeometricAlgorithms | dotSCAD | |
---|---|---|
3 | 30 | |
62 | 746 | |
- | - | |
0.0 | 0.0 | |
almost 2 years ago | over 1 year ago | |
Processing | OpenSCAD | |
MIT License | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GeometricAlgorithms
-
Metaballs/Meta-diamonds with Marching Squares Algorithm
Source code (Processing): https://github.com/volfegan/GeometricAlgorithms/tree/master/Marching_Squares_Coloured_Metaballs
-
Teaching Y=MX + C With P5JS
Basically, most collision detection is done with line interception, circles, polygons, etc. So lines are important for games to exist and other interesting space/object interaction. Circle to circle collision is especially easy to do. Geometric Algorithms use a lot of math (books reference on link), but I never went ahead with all its concepts like triangulation Delaunay triangulation, simple non-overlapping Triangulation, etc.
-
Bubbles drifting with circle packing algorithm
As the circle objects flow, this actually forces their radius to become more homogeneous. Quite boring looking for something I spend a lot of time understanding its inner work. This is one of those things that the static image is better than the animated. It runs slow at this screen size, but as I didn't like the results I don't think I will improve its efficiency by implementing some quadtree or spatial hashing.
dotSCAD
-
MK4 Printable Parts are now available
If you're looking for examples of high quality openscad code, dotSCAD is pretty cool. nophead (old school reprap person and one of the openscad developers) has a parts library that I think is high quality.
- Making objects thinner while extruding
-
RIP Lin Xinliang (Liang Gege) 1975~2022
Justin Lin passed away due to illness in 2022 at the age of 48.[0]
On December 22, 2022 OpenSCAD posted:
> Today's advent calendar door is a sad one. We'd like to commemorate Justin Lin, who passed away a while ago. In the OpenSCAD community he is best known for his #dotSCAD library. His designs always brought joy and amazement. Thank you, we will miss you.[1,2]
On October 11, 2022 dotSCAD v3.3 released — it was the last commit by JustinSDK on GitHub.[3]
[0] https://www.ithome.com.tw/caterpillar
[1] https://twitter.com/openscad/status/1605758512746881025
[2] https://fosstodon.org/@OpenSCAD/109555037335637650
[3] https://github.com/JustinSDK/dotSCAD/releases/tag/v3.3
-
Does anyone know how I could join all the spheres together to create a single curve? I am trying to use the hull() function.
https://github.com/JustinSDK/dotSCAD - as far as I can tell this is widely used
-
"edge2()" module implements "great circle arc" for graph edges on sphere
I synced your repo: https://github.com/JustinSDK/dotSCAD
-
"tria(_p1, _p2, _p3)" module implements "spherical triangle" on sphere, allows for sperical polygon as well
// require https://github.com/JustinSDK/dotSCAD use use use n = 5; radius = 10; thickness = 1; geom = geom_icosahedron(radius); points = geom[0]; faces = geom[1]; for(f = faces) { triangle = [for(i = f) points[i]]; // subdivide the triangle triangles = tri_subdivide(triangle, n); points1 = [ for(t = triangles, p = t) let(unit_vector = p / norm(p)) unit_vector * radius ]; points2 = [ for(t = triangles, p = t) let(unit_vector = p / norm(p)) unit_vector * (radius - thickness) ]; ff = [for(i = [0:3:len(points1) - 3]) [i, i + 1, i + 2]]; color(rands(0, 1, 3)) sf_solidifyT(points1, points2, ff); }
-
Treble clef dragon
If you are into OpenSCAD, grab this chap's work - https://github.com/JustinSDK/dotSCAD/tree/master/src and use his modules, they are rather good.
-
Preferred way for rounding corners?
// use // a shape function from https://github.com/JustinSDK/dotSCAD // sq_outer = shape_square(size = 50, corner_r = 5); sq_outer = [[20, -25], [21.9471, -24.6053], [23.5868, -23.4835], [24.6602, -21.8118], [25, -20], [25, 20], [24.6053, 21.9471], [23.4835, 23.5868], [21.8118, 24.6602], [20, 25], [-20, 25], [-21.8118, 24.6602], [-23.4835, 23.5868], [-24.6053, 21.9471], [-25, 20], [-25, -20], [-24.6602, -21.8118], [-23.5868, -23.4835], [-21.9471, -24.6053], [-20, -25]]; // sq_inner = shape_square(size = 30, corner_r = 3); sq_inner = [[12, -15], [13.8551, -14.3577], [14.9158, -12.7057], [15, -12], [15, 12], [14.3577, 13.8551], [12.7057, 14.9158], [12, 15], [-12, 15], [-12.7057, 14.9158], [-14.3577, 13.8551], [-15, 12], [-15, -12], [-14.9158, -12.7057], [-13.8551, -14.3577], [-12, -15]]; polygon( points = concat(sq_outer, sq_inner), paths = [ [each [0:len(sq_outer) - 1]], [each [len(sq_outer):len(sq_outer)+ len(sq_inner) - 1]] ] );
- Creating a library for OpenSCAD
-
Creating (and simplifying mesh for) a blade/wing from airfoil sections?
path_extrude from https://github.com/JustinSDK/dotSCAD library. This kinda works.
What are some alternatives?
ConvexBodyProximityQueries.jl - A fast module for computing proximity queries between convex bodies in 2D/3D
BOSL2 - The Belfry OpenScad Library, v2.0. An OpenSCAD library of shapes, masks, and manipulators to make working with OpenSCAD easier. BETA
contour-rs - Contour polygon creation in Rust (using marching squares algorithm)
NopSCADlib - Library of parts modelled in OpenSCAD and a framework for making projects
Asteroid_game_with_physics - Asteroid game minimal working physics using GJK Algorithm on Java Processing v3.5
BOSL - The Belfry OpenScad Library - A library of tools, shapes, and helpers to make OpenScad easier to use.
Computational-geometry - Computational Geometry Unity library with implementations of intersection algorithms, triangulations like delaunay, voronoi diagrams, polygon clipping, bezier curves, ear clipping, convex hulls, mesh simplification, etc
implicit - A math-inspired CAD program in haskell. CSG, bevels, and shells; 2D & 3D geometry; 2D gcode generation...
OpenAstroTracker - 3D printed DSLR tracking mount
splitflap - DIY split-flap display
PolyDiceGenerator - A customizable Polyhedral Dice Generator for OpenSCAD.
threadlib - thread library for OpenSCAD