/*****************************************\ Aufgabe: Stelle einen Würfel so auf (mit rotate), dass die Z-Achse durch die am weitesten entfernten Eckpunkte verläuft. Der erste Winkel (um x-Achse) ist trivial: 45° gedreht passt schon. rotate([45,0,0]) cube(100); Der zweite Winkel (um y-Achse) ist nicht mehr so einfach, da er sich aus dem Winkel zwischen der Seitenfläche und der Raumdiagonale ergibt. Irgendwas zwischen 30° und 45° sollte es sein. Wir lösen dies aber nicht durch "Ausprobieren", sondern durche eine ehrliche Rechnung! \******************************************/ // Winkel wird weiter unten berechnet. // OpenSCAD führt die Berechnungen // ZUERST durch, ungeachtet der Reihenfolge // bei der Konstruktion. (Also bitte // jeder Variabe nur EINMAL einen Wert // zuweisen!) rotate([45,-winkel,0]) cube(100); // Diagonale auf einer Seitenfläche berechnen: d = sqrt(100*100+100*100); echo("Diagonale: ",d); // Nun Raumdiagonale berechnen: d2 = sqrt(d*d + 100*100); echo("Raum-Diagonale: ",d2); // ... und jetzt den gesuchten // Winkel zwischen Eckpunkt // und z-Achse berechnen. // cos(winkel) = d / d2 winkel = acos(d/d2); echo("Winkel: " , winkel); // Der Winkel wird im rotate(...) oben verwendet.