3D tryckt Ping-Pong boll (4 / 5 steg)

Steg 4: Borrning triangulära hål



I det här avsnittet ska vi titta in i hur man skapar ett mönster av prismor från geodesic sfär ansikten, att vi sedan ska subtrahera från våra bollen från steg 2 att generera faktiska hålen.

Först måste vi skapa prismor från geodesic sfär trianglar.
Det gör skapa vi först en mindre triangel inom varje triangel av en geodetisk linje
sphere av kvittning dess kanter inåt med ett fast avstånd och datoranvändning
skärningspunkter av översatta kanterna som utgör hörnen
i nya triangeln (se bilden ovan).

För att generera prismat, Använd jag den solidFromSlicesmetoden för att pressa den nuvarande triangeln (i1 i2 i3) vinkelrätt till dess yta.

Funktionen createPrism

genererar en prisma från en enhet sfär triangel, en radie och en förskjutning
funktion createPrism (sphereTri, radius, offset)
{/ / beräkna koordinaterna för hörnen i input triangeln
var v1 = nya CSG. Vector3D (scalar_mul (sphereTri [0], radie));
var v2 = nya CSG. Vector3D (scalar_mul (sphereTri [1], radie));
var v3 = nya CSG. Vector3D (scalar_mul (sphereTri [2], radie));

göra plan basera (v1, x, y)
var xAxis = v2.minus(v1).unit();
var v13 = v3.minus(v1);
var yAxis = v13.minus(xAxis.times(v13.dot(xAxis))).unit();

Hämta 2d-koordinater av triangeln hörnen i denna bas
var v1_2d = nya CSG. Vector2D (0, 0);
var v2_2d = nya CSG. Vector2D(v2.minus(v1).dot(xAxis), 0);
var v3_2d = nya CSG. Vector2D(v3.minus(v1).dot(xAxis), v3.minus(v1).dot(yAxis));

få i mitten av varje segment i planet
var v12_2d = v2_2d.minus(v1_2d);
var v23_2d = v3_2d.minus(v2_2d);
var v31_2d = v1_2d.minus(v3_2d);

få enhet vektorn vinkelrätt mot i1i2 segment i planet
var ortho12 = nya CSG. Vector2D (-v12_2d.y, v12_2d.x).unit();
IF(v3_2d.minus(v1_2d).dot(ortho12) < 0)
ortho12 = ortho12.times(-1);

var ortho23 = nya CSG. Vector2D (-v23_2d.y, v23_2d.x).unit();
IF(v1_2d.minus(v2_2d).dot(ortho23) < 0)
ortho23 = ortho23.times(-1);

var ortho31 = nya CSG. Vector2D (-v31_2d.y, v31_2d.x).unit();
IF(v2_2d.minus(v1_2d).dot(ortho31) < 0)
ortho31 = ortho31.times(-1);

översätta alla tri segment inåt genom samma offset
var s12b = translate_segment ([v1_2d, v2_2d], ortho12.times(offset));
var s23b = translate_segment ([v2_2d, v3_2d], ortho23.times(offset));
var s31b = translate_segment ([v3_2d, v1_2d], ortho31.times(offset));

beräkna skärningspunkter av översatta segment i planet
var i1 = skär (s12b, s23b);
var i2 = skär (s23b, s31b);
var i3 = skär (s31b, s12b);

var i1_3d = v1.plus(xAxis.times(i1.x)).plus(yAxis.times(i1.y));
var i2_3d = v1.plus(xAxis.times(i2.x)).plus(yAxis.times(i2.y));
var i3_3d = v1.plus(xAxis.times(i3.x)).plus(yAxis.times(i3.y));

skapa en polygon från skärningspunkter
var tri = nya CSG. Polygon ([
nya CSG. Vertex(i1_3d),
nya CSG. Vertex(i2_3d),
nya CSG. Vertex(i3_3d)
]);

var zAxis = tri.plane.normal;
återgå tri.solidFromSlices({
numslices: 2, / / belopp av skivor
slinga: falsk, / / sista CSG stängs av looping (starta = slutet) som en torus
motringning: function(t,slice) {
ECHO ("t:" + t)
återgå this.translate (scalar_mul ([zAxis.x, zAxis.y, zAxis.z], 4 * t));
}
{}) .translate (scalar_mul ([zAxis.x, zAxis.y, zAxis.z], -2));
}

Multiplicerar en 3d vektor med en skalär
funktion scalar_mul (v, c)
{
tillbaka [c * v [0], c * v [1], c * v [2]];
}

översätter ett 2d segment av en 2d-vektor
funktion translate_segment (seg, vec)
{
S0b = seg[0].plus(vec);
S1B = seg[1].plus(vec);

tillbaka [s0b, s1b];
}

beräknar skärningspunkten mellan 2 2d segment
funktionen intersect (s1, s2)
{
var p = s1 [0];
var q = s2 [0];
var r = s1[1].minus(p);
var s = s2[1].minus(q);

var u = q.minus (p) .cross (r) /r.cross(s);
var t = q.minus (p) .cross(s) /r.cross(s);

om (r.cross(s)! = 0 & & u > = 0 & & u < = 1 & & t > = 0 & & t < = 1)
återvända p.plus(r.times(t));
returnera null;
}

Att använda sig av funktionen createPrism ovanför, whe kan nu generera fullt
hålbild av iteration över geodetiska sfär trianglar:

Hål mönster skript

funktionen Main () {
var ballDiameter = 40; mm
var segmentWidth = 2; mm

var sphereTris = []; innehar lista av geodesic sfär trianglar
addPolyCb = funktion (v1, v2, v3)
{
sphereTris.push([
[v1.x, v1.y, v1.z],
[v2.x, v2.y, v2.z],
[v3.x, v3.y, v3.z]
]);
}

createGeodesicSphere (addPolyCb, 1);

var holePattern;
för (j = 0; j!=sphereTris.length; ++ Jansson)
{
var prisma = createPrism (sphereTris [j], ballDiameter/2., segmentWidth/2.);
IF(j==0)
{
holePattern = prisma;
}
annat
holePattern = holePattern.union(prism);
}

återvända holePattern;
}

funktionen dela upp (v1, v2, v3, addPolyCb, djup)
{
IF(DEPTH == 0) {
addPolyCb (v1, v2, v3);
hemkomst.
}

var v12 = v1.plus(v2).unit();
var v23 = v2.plus(v3).unit();
var v31 = v3.plus(v1).unit();
var newDepth = djup - 1.
Dela upp (v1, v12, v31, addPolyCb, newDepth);
Dela upp (v2 v23, v12, addPolyCb, newDepth);
Dela upp (v3, v31, v23, addPolyCb, newDepth);
Dela upp (v12, v23, v31, addPolyCb, newDepth);
}

funktion createGeodesicSphere (addPolyCb, djup) {
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]
];

för (var jag = 0; jag < 20; i ++)
Dela upp (nya CSG. Vector3D(vdata[tindices[i][0]]),
nya CSG. Vector3D(vdata[tindices[i][1]]),
nya CSG. Vector3D(vdata[tindices[i][2]]),
addPolyCb, djup);
}

Se Steg
Relaterade Ämnen

Ping Pong boll fullfärg binär klocka

Färg ändra 24Hr binär klocka med hjälp av ping pong bollar och fullfärg LED och en Funduino 8 * 8 matrix styrelse.Jag har redan byggt en liten 12Hr binär klocka och monterade den i en dator, detta fungerade mycket bra men var bara riktigt hälften en...

5 saker att göra med en Ping Pong boll

Vänligen Betygsätt detta Instructable och följ mig för mer coola steg för steg-guider.Gjort av Manish KumarSå idag kommer jag att tala om 5 ovanliga saker att göra med en ping pong boll. Dessa plast bollar komma mycket billigt och kan användas för de...

Ping Pong boll tomtebloss

Jag gnista lite.Steg 1: samla Samla en ping pong boll och en låda eller två av Sprite bomberSteg 2: Gör ett hål Skapa ett litet hål i bollenSteg 3: Placera bollar i Placera små bomber inutiSteg 4: kasta Du kan få 5-6 stora gnistor från ett ping pong...

10 000 rpm ping-pong boll

Jag använder Kryogener i kemi demos och snabb säker lätt exempel med noll saneringen är alltid välkomna. Jag skulle hittat om denna en - spinning ping-pong boll - via YouTube. Videon har haft över 2 miljoner visningar, men jag var underwhelmed - en l...

Ping Pong boll katapult

inspirerad av alla kreativa sinnen här på instructables, jag gjorde en ping pong katapult för mina barn att leka med.Material som används:Flera 1/2 tum x 1/2 tum dymlingar (om 7 eller 8). Den längsta är 12 inches lång.2 färg omrörareflera zip band2 a...

Flyta en ping pong boll på kommer!

Hej!Jag har alltid varit fascinerad av saker som styrs trådlöst med hand rörelser vilket förmodligen är varför jag äger en Wii nu när jag tänker på det. Men jag har inte riktigt kommit till göra någon rörelsekontroll av min egen design innan så det k...

Julgran leksak från ping pong boll

hittade jag en orange ping pong boll hemma, men jag gillar inte att leka med den, jag föredrar viten en... så de var helt värdelös och jag gjorde julgran leksak med den. Det är enkelt och snabbt. Bra för dekorationer och gåvor, alltför.Steg 1: Du beh...

Vakuum kanon kör ping pong boll i överljudshastighet

Jag ska här beskriva en kanon som kan köra ping pong bollar tillräckligt snabbt för att gå igenom plywood och aluminium burkar. Denna "vakuum kanon" har visats i college fysik klasser, eftersom det innebär många grundläggande fysik begrepp som N...

Ping Pong boll rök granat (lätt!)

Detta projekt är mycket enkelt, snabbt och roligt för att göra. Bara några saker som behövs och en massa rök lagt ut!!!Saker som behövs:-sax-aluminiumfolie-4 ping pong bollar (bra kvalitet)-pennaSteg 1: Skär folie Klippa ut om en 15x15cm kvadrat med...

Ping Pong boll Goldfish

Detta är ett bra, Billigt och enkelt hantverk perfekt för många tillfällen såsom:Fisk tema födelsedagskalasKinesiska nyåret craft (guldfisk är ett tecken på rikedom och överflöd i kinesisk kultur och föreställer välstånd)djuraffär aktiviteter, djur t...

Knex Ping Pong boll Retriever klo

jag byggde detta på min fritid att hjälpa min pappa som har en dålig rygg. Vi skulle spela pingpong tillsammans bollen skulle komma från bordet och han måste alltid böja sig ner och plocka upp. Så uppfann jag ping pong boll hämtning klo.Steg 1: Skapa...

Glöd i mörka LED Ping Pong boll

Skapa en glöd i mörka LED ping pong bollen med flera enkla steg.Steg 1: material Du behöver följande material:Ping Pong bollLED (5mm eller 10 mm)3V batteriTejpLåg Temp limpistolRazorSteg 2: Förbereda LED Lysdioder har en positiv och negativ tråd. Du...

LED Ping Pong boll

du kan rulla dem, spela fångsten med dem, eller ens spela fetch med din hund med dem. (Större hundar kan kvävas, min hund är verkligen liten och kan inte kvävas på det)NYARE VERSION:)Steg 1: Samla material Behöver du:Super ljusa lysdioderTvå Ping Pon...

LED Ping Pong boll (förbättrad)

detta är i grunden samma design, men jag gjorde det mer nättare och det ser mycket bättre!Detta är gammalt:Steg 1: verktyg Behöver du följande:1. borra2. borr3. sax4. silvertejpSteg 2: material Behöver du följande:1. LED Throwie (detta är länken:)2....

Glödande ping pong boll (throwable)

jag läste en instructable om hur man gör glödande ping pong bollar. Det fanns ett problem ändå, du inte kunde kasta dem eftersom de var kopplad. Boll + LED throwie = mycket roligt.Steg 1: materialDu behöver:en ping pong bollett rakbladoch en LED thro...

Ping Pong boll Mauler

Idag har jag det stora nöjet att presentera för dig Ping Pong boll Mauler, endast helautomatisk, stor kapacitet, ping pong boll launcher. Detta är först gör det själv projekt jag har åtagit mig med mitt nya företag, överlista Technologies LLC. Besök...

Ping Pong boll Hand kanon

Här är en lätt att göra ping pong boll launcher som du kan bygga från saker du kan ha om runt ditt hus. Det kommer lätt eld ping pong bollar över 25 fot.Steg 1: Samla dina resurserDu behöver:En toalett papper rulle tubePing pong ball(s)Två GemTvå gum...

Ping - Pong boll Launcher / kanon

För detta instructable behöver du följande:-Tejp (eller någon annan stark tejp)-Sax-En ZeeBeez Popper-En toalett rulle Tube-Ammunition (liten boll)Steg 1: Skär toalett rulle röretMed sax klippa bort slutet tredje av toalett-rulle.Steg 2: Koppla ZeeBe...

Hur man gör en ping pong boll gun

är du trött på office/klassrum/bakgård krig utan någon snygg eller effektivt vapen?Trött på att bli skjuten med en billig plast bb pistol som gör ont som fan och raster efter 5 skott?Vill du skjuta dina kollegor/vänner utan att behöva oroa sig om far...