Skip to content

Instantly share code, notes, and snippets.

View arnholm's full-sized avatar

Carsten Arnholm arnholm

View GitHub Profile
// AngelCAD code.

shape@ main_shape()
{
   // create cube & sphere in default positions
   double d = 100;
   solid@ mycub = cube(size:d);
   solid@ mysph = sphere(r:d*0.8);
@arnholm
arnholm / megaliths.md
Last active March 2, 2020 14:22
A collection of links with possible evidence of ancient technology world wide

Introduction

This page serves as a scratchpad for links to web pages and videos documenting megaliths (mega=big lith=stone). I became interested in the topic of ancient high technology early in 2018 and started to collect links.

I would initially not have believed that there are so many locations all over the world showing structures with very high precision and extremely heavy stones, but the list is just growing day by day. This page attempts to document some of this by linking to the pages and videos available on the topic.

Before starting the "journey", it is worth mentioning some of the top sources of information (although there are many others). First, the YouTube channel of Brien Foerster is worth mentioning. Brien Foerster lives in Peru and introduced me (via his videos) to the many fantastic sites in Peru and Bolivia. A natural starting point below will therefore be Peru and Bolivia. The second source of information is the YouTube channel of [An

#include <iostream>
using namespace std;
#include "cf_serial/cf_serial_simple.h"
int main(int argc, char **argv)
{
try {
cf_serial_simple serial("COM8");
@arnholm
arnholm / minkowski3d_3_1.md
Last active February 9, 2020 10:10
minkowski3d_3.as - Demonstrates 3d filetting using minkowski
// AngelCAD sample: minkowski3d_3.as
// Demonstrates 3d filetting using minkowski3d

solid@ object(double sz)
{
   // cuboids extending in 3 axis directions
   return   translate(-sz,0,0) * cuboid(2*sz,sz,sz)
          + translate(0,-sz,0) * cuboid(sz,2*sz,sz)
 + cuboid(sz,sz,2*sz);
// AngelCAD code. https://arnholm.github.io/angelcad-docs/

shape@ main_shape()
{
   double ball_height = 56;
   double top_radius = 20;
   double head_minkow = 3;
   double threw_hole = 11;
// AngelCAD code. Demonstrate fillet between two plates
// https://arnholm.github.io/angelcad-docs/

solid@ fillet(solid@ obj, double r)
{
   // create a cube enclosing the object completely
   // with an internal void shaped by the object
   boundingbox@ box = obj.box();
   pos3d@ c  = box.center(); 
@arnholm
arnholm / lens.md
Last active November 4, 2019 20:21
Concave-convex lens from 2 point clouds
shape@ main_shape()
{
   // create 2 convex hull bodies
   solid@ upper =  polyhedron("posterior-lenticle-surface.xyz");
   solid@ lower =  polyhedron("anterior-lenticle-surface.xyz");
  
   // subtract upper from lower to create convex-concave lens body
   return lower-upper;
}
@arnholm
arnholm / wishlist.md
Last active September 29, 2019 07:52
  1. Mutable variables. Variables are mutable in AngelCAD, since it is using the AngelScript language. One is not restricted to lists and recursion, but those are also available.

  2. Better data structures. Classes would be beautiful. User defined classes are supported in AngelCAD, also with inheritance. Also a dictionary an a map similar to C++ map.

2b. data structure for polyhedron vertices-and-faces. https://arnholm.github.io/angelcad-docs/docs/classpolyhedron.html

  1. passing functions as a first class object. In AngelCAD one can define function pointers and pass them as arguments https://gist.github.com/arnholm/7061458777913e5795585eee46fcb664 . Obviously, you can also pass handles to instances of user defined classes.

  2. Ability to rename built-in and existing modules/functions. There is namespace support in AngelScript, but adnittedly I have not explored it in much detail

// AngelCAD code, showing use of function pointer

funcdef double CALLBACK(int i);

solid@ object(CALLBACK@ f,int i) 
{ 
   return sphere(f(i)); 
}
@arnholm
arnholm / csg_wikipedia.md
Last active August 16, 2019 13:36
csg_wikipedia - Constructive Solid Geometry
// AngelCAD code sample: csg_wikipedia.as
// https://en.wikipedia.org/wiki/Constructive_solid_geometry
// https://arnholm.github.io/angelcad-docs/

shape@ main_shape()
{
   // intersection of cube and sphere
   cube@       cu = cube(size:45,center:true);
 sphere@ sp = sphere(r:30);