Создание 3D-модели тройной фазовой диаграммы.
Как я разработал это.
Код OpenJSCad.
var res = 64;
var side=100;
var p1 = [0,0];
var p2 = [side,0];
var p3 = [сторона/2, Math.sqrt(сторона)];Сбоку.3/4];
var c1 = [0,0,0];
var c2 = [сторона,0,0];
var c3 = [p3[0],p3[1],0];
var stackOfTiles = new Array();
Функция main() {
для (z=5; z<100; z+=7) {
StackOfTiles.push( CSG.cube({
Угол 1: [0, 0, z],
Угол 2: [100, 100, z+0.75]
))
)
var s1o = CSG.sphere({
центр: c1,
Радиус: 70,5.
Разрешение: res.
});
var s2o = CSG.sphere({
Центр: c2,
Радиус: 60,5.
Разрешение: res.
});
var s3o = CSG.sphere({
центр: c3,
Радиус: 50,5.
Разрешение: res.
});
var s1i = CSG.sphere({
центр: c1,
Радиус: 70.
Разрешение: res.
});
var s2i = CSG.sphere({
Центр: c2,
Радиус: 60.
Разрешение: res.
});
var s3i = CSG.sphere({
центр: c3,
Радиус: 50.
Разрешение: res.
});
var triangle = polygon([c1,c2,c3]);
var prism = linear_extrude({height:100},triangle);
var outsideSpheres = s1o.union(s2o).union(s3o);
var insideSpheres = s1i.union(s2i).union(s3i);
var slices = outsideSpheres.intersect(union(stackOfTiles));
Возвращаем пересечение union(slices, insideSpheres) с призмой.
)
モデルソース
