3D afgedrukt Ping-Pong bal (3 / 5 stap)

Stap 3: Geodetische bollen


Nu zullen we kijken naar hoe een bol onderverdelen in een bepaald aantal
driehoeken van ongeveer dezelfde vorm. De hier beschreven methode is
vaak gebruikt om te bouwen van veelhoekige benaderingen van bollen, zoals gedetailleerde
in deze tutorial OpenGL: http://www.opengl.org.ru/docs/pg/0208.html.
In ons geval, zal dit de stap van gebouw voor het genereren van de gaten die zal worden
transfrom onze regelmatige bal in een geodeome-achtige.

Eerst we met een regelmatige isocahedron , die twintig driehoekige gezichten beginnen heeft, en
de interessante eigenschap dat elk van de hoekpunten op een bol liggen.
Dan voor elke driehoek, we elk van de drie randen in het midden splitsen, die
geeft ons drie extra hoekpunten die we gebruiken om het onderverdelen van genoemde driehoek
in vier kleinere driehoeken. De drie hoekpunten worden vervolgens vertaald naar buiten
Zo liggen ze op het gebied van oppervlak.

Isocahedron OpenJSCAD-script

 function main(){ var X = 0.525731112119133606; var Z = 0.850650808352039932; var radius = 20; var vdata = [ [-X, 0.0, Z], [ X, 0.0, Z ], [ -X, 0.0, -Z ], [ X, 0.0, -Z ], [ 0.0, Z, X ], [ 0.0, Z, -X ], [ 0.0, -Z, X ], [ 0.0, -Z, -X ], [ Z, X, 0.0 ], [ -Z, X, 0.0 ], [ Z, -X, 0.0 ], [ -Z, -X, 0.0 ] ]; // isocahedron vertex coordinates var tindices = [ [0, 4, 1], [ 0, 9, 4 ], [ 9, 5, 4 ], [ 4, 5, 8 ], [ 4, 8, 1 ], [ 8, 10, 1 ], [ 8, 3, 10 ], [ 5, 3, 8 ], [ 5, 2, 3 ], [ 2, 7, 3 ], [ 7, 10, 3 ], [ 7, 6, 10 ], [ 7, 11, 6 ], [ 11, 0, 6 ], [ 0, 1, 6 ], [ 6, 1, 10 ], [ 9, 0, 11 ], [ 9, 11, 2 ], [ 9, 2, 5 ], [ 7, 2, 11 ] ]; // isocahedron triangles return polyhedron({ points: vdata, triangles: tindices }).scale([radius, radius, radius]); } 

Vervolgens schrijven we de Subdivisie fonction voor een eenheid bol benadering:

De subdvide-functie

 /* fn subdivide(v1, v2, v3, addPolyCb, depth) * brief subdivides a triangle into 4 smaller ones * params v1, v2, v3 : triangle vertices * addPolyCb : callback for add polygon notification * depth : number of remaining subdivision iterations */ function subdivide(v1, v2, v3, addPolyCb, depth) { if(depth == 0) { addPolyCb(v1, v2, v3); return; } var v12 = v1.plus(v2).unit(); // middle of v1v2 edge projected on the unit sphere var v23 = v2.plus(v3).unit(); var v31 = v3.plus(v1).unit(); var newDepth = depth - 1; subdivide(v1, v12, v31, addPolyCb, newDepth); subdivide(v2, v23, v12, addPolyCb, newDepth); subdivide(v3, v31, v23, addPolyCb, newDepth); subdivide(v12, v23, v31, addPolyCb, newDepth); } 

Het proces van de Subdivisie werkt recursief; vanaf de 20 isocahedron
gezichten, elke stap van de Subdivisie vermenigvuldigt het totale aantal gezichten met 4.
Een diepte van 1 genereert bijgevolg een veelvlak 80 gezichten.

We kunnen nu een gebied benadering genereren door het aanroepen van de functie onderverdelen
iteratief over de gezichten van de isocahedron als volgt:

80 gezichten geodetische bol script

 function main() { var ballDiameter = 40; var ballRadius = ballDiameter/2.; var polygons = []; // list of polygons addPolyCb = function(v1, v2, v3) { polygons.push(new CSG.Polygon([ new CSG.Vertex(new CSG.Vector3D(v3.x,v3.y,v3.z)), new CSG.Vertex(new CSG.Vector3D(v2.x,v2.y,v2.z)), new CSG.Vertex(new CSG.Vector3D(v1.x,v1.y,v1.z)) ])); } createGeodesicSphere(addPolyCb, 1); var unitSphereApprox = CSG.fromPolygons(polygons); return unitSphereApprox.scale([ballRadius, ballRadius, ballRadius]); } // subdivides a unit isocahedron n=depth times and calls a callback for each created face function createGeodesicSphere(addPolyCb, depth) { var X = 0.525731112119133606; var Z = 0.850650808352039932; var vdata = [ [-X, 0.0, Z], [ X, 0.0, Z ], [ -X, 0.0, -Z ], [ X, 0.0, -Z ], [ 0.0, Z, X ], [ 0.0, Z, -X ], [ 0.0, -Z, X ], [ 0.0, -Z, -X ], [ Z, X, 0.0 ], [ -Z, X, 0.0 ], [ Z, -X, 0.0 ], [ -Z, -X, 0.0 ] ]; var tindices = [ [0, 4, 1], [ 0, 9, 4 ], [ 9, 5, 4 ], [ 4, 5, 8 ], [ 4, 8, 1 ], [ 8, 10, 1 ], [ 8, 3, 10 ], [ 5, 3, 8 ], [ 5, 2, 3 ], [ 2, 7, 3 ], [ 7, 10, 3 ], [ 7, 6, 10 ], [ 7, 11, 6 ], [ 11, 0, 6 ], [ 0, 1, 6 ], [ 6, 1, 10 ], [ 9, 0, 11 ], [ 9, 11, 2 ], [ 9, 2, 5 ], [ 7, 2, 11 ] ]; // iterate over isocahedron triangles for(var i = 0; i < 20; i++) subdivide( new CSG.Vector3D(vdata[tindices[i][0]]), new CSG.Vector3D(vdata[tindices[i][1]]), new CSG.Vector3D(vdata[tindices[i][2]]), addPolyCb, depth); } 

Dit script wilt uitvoeren, kopieer en plak de code in uw favoriete code-editor en sla
het bestand met de extensie .jscad. Vervolgens gewoon slepen en neerzetten het bestand in de recangular
gebied in de linkerbenedenhoek van uw browservenster OpenJSCAD.

Gerelateerde Artikelen

Een ping pong bal bij zal drijven!

Een ping pong bal bij zal drijven!

Hallo!Ik heb altijd gefascineerd door dingen die draadloos worden gecontroleerd door bewegingen van de hand die waarschijnlijk waarom ik een Wii eigen nu dat ik ben te denken over het. Maar ik heb niet echt gekregen om controle van de beweging van mi
5 dingen te doen met een Ping Pong bal

5 dingen te doen met een Ping Pong bal

gelieve dit Instructable stem en volg mij voor meer coole stap voor stap gidsen.Gemaakt door Manish KumarDus vandaag zal ik spreken ongeveer 5 ongewone dingen te doen met een ping pong bal. Deze plastic ballen heel goedkoop en kunnen worden gebruikt
RGB led ping pong bal lamp

RGB led ping pong bal lamp

Ik begon door het kopen van 100 ping pong ballen vorm de lokale winkel of sportwinkel.Ik knoeide vervolgens de led im gonna gebruik dan begon ik te boorde een gat in elk van de 100 ping pong bal net groot genoeg voor de led is om binnen de ping pong
Vacuüm Cannon ping pong bal aandrijving met supersonische snelheid

Vacuüm Cannon ping pong bal aandrijving met supersonische snelheid

Hier beschrijf ik een kanon dat ping pong ballen snel genoeg rijden kan om te gaan door middel van triplex en aluminium blikjes. Deze "vacuüm kanon" is aangetoond in college physics klassen, omdat het gaat om vele fundamentele fysica concepten z
LED Ping Pong bal

LED Ping Pong bal

u hen, spelen gevangen met hen, of zelfs play halen met uw hond mee kan rollen. (Grotere honden kunnen stikken, mijn hond is echt klein en kan niet stikken op het)NIEUWERE VERSIE:)Stap 1: Verzamel materialen u nodig hebt:Super heldere LED 'sTwee Ping
Gloeiende ping pong bal (throwable)

Gloeiende ping pong bal (throwable)

ik was het lezen van een instructable op hoe te om de gloeiende ping pong ballen. Er was een probleem niettemin, u kon niet gooi ze omdat ze attatched waren. Bal + LED throwie = een heleboel plezier.Stap 1: materialenU moet:een ping pong baleen schee
Gloed in de donkere LED Ping Pong bal

Gloed in de donkere LED Ping Pong bal

Maak een gloed in de donkere LED ping pong bal met enkele eenvoudige stappen.Stap 1: materialen U moet de volgende materialen:Ping Pong BallLED (5 of 10 mm)3V batterijTapeLage Temp lijmpistoolScheermesStap 2: Voorbereiding van de LED LED's hebben een
Hoe: Ping Pong bal Kerstverlichting

Hoe: Ping Pong bal Kerstverlichting

op enig moment laatste semester ik besefte dat ping pong ballen grote diffusors maken en werkelijk koel wanneer kijken ze zijn gloeien. Volgende wij geconcludeerd dat honderd gloeiende ping pong ballen zelfs koelketel zou kijken. Het werd ongeveer di
De Ping Pong bal Mauler

De Ping Pong bal Mauler

Vandaag heb ik het genoegen van de invoering u de Ping Pong bal Mauler, het alleen volautomatische, grote capaciteit, ping pong ball launcher.  Dit is de eerste doe-het-zelf project ik zich ertoe met mijn nieuwe bedrijf, te slim af Technologies LLC v
10.000 rpm ping-pong bal

10.000 rpm ping-pong bal

Ik gebruik cryogens in chemie demo's, en snelle veilige eenvoudige voorbeelden met nul schoonmaakoperaties zijn altijd welkom. Ik zou gevonden over dit één - de spinnen ping-pong bal - via YouTube. De video heeft meer dan 2 miljoen keer bekeken, maar
De vreemdgaan Ping-pong-bal

De vreemdgaan Ping-pong-bal

deze Ping Pong bal Is een zeer domme hack over een spel in uw gunst,En ja ik weet dat dit is stom maar...zal helpen u winnen!!! (goed soort)Anyways zal ik post-it hierde lijst van materialen is kort en dit project is het betrekkelijk eenvoudig om te
Ping Pong bal rook granaat (makkelijk!)

Ping Pong bal rook granaat (makkelijk!)

Dit project is zeer eenvoudig, snel en leuk om te doen. Slechts een paar items nodig en een heleboel rook stak!!!Items nodig:-schaar-aluminiumfolie-4 ping pong ballen (goede kwaliteit)-penStap 1: Knippen folie Over een vierkant 15x15cm van aluminiumf
Zwevende ping pong bal

Zwevende ping pong bal

In dit instructable leert u hoe maak je een apparaat die je kunt dragen dat een ping pong bal met behulp van een haardroger of gecomprimeerde lucht kan zwevenU moet:Ping pong balHaardrogerExtreme focusGoede balansLucht tank (PVC pijp die had een fiet
Kerstboom speelgoed uit ping pong bal

Kerstboom speelgoed uit ping pong bal

vond ik een oranje ping pong bal thuis, maar ik houd niet van om te spelen met het, verkies ik de witte degenen... dus ze absoluut nutteloos waren en ik maakte kerstboom speelgoed mee. Het is gemakkelijk en snel. Zeer geschikt voor decoratie en gesch