// 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);
#include <iostream> | |
using namespace std; | |
#include "cf_serial/cf_serial_simple.h" | |
int main(int argc, char **argv) | |
{ | |
try { | |
cf_serial_simple serial("COM8"); |
// 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();
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;
}
-
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.
-
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
-
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.
-
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));
}
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
// 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);