openjscad-aurora-webapp

Форк
0
67 строк · 1.4 Кб
1
// title: Non Affine Transformation
2
// author: Eduard Bespalov
3
// license: MIT License
4
// description: testing solidFromSlices()
5

6
function main(params) {
7
	var radius = 20,
8
		height = 60,
9
		vec = new CSG.Vector3D(0, radius, 0),
10
		angle;
11

12
	angle = 360 / 7;
13
	var pol7 = CSG.Polygon.createFromPoints([
14
			vec,
15
			vec.rotateZ(1 * angle),
16
			vec.rotateZ(2 * angle),
17
			vec.rotateZ(3 * angle),
18
			vec.rotateZ(4 * angle),
19
			vec.rotateZ(5 * angle),
20
			vec.rotateZ(6 * angle)
21
	]);
22

23
	angle = 360 / 6;
24
	var hex = CSG.Polygon.createFromPoints([
25
			vec,
26
			vec.rotateZ(1 * angle),
27
			vec.rotateZ(2 * angle),
28
			vec.rotateZ(3 * angle),
29
			vec.rotateZ(4 * angle),
30
			vec.rotateZ(5 * angle)
31
	]);
32

33
	angle = 360 / 5;
34
	var pent = CSG.Polygon.createFromPoints([
35
			vec,
36
			vec.rotateZ(1 * angle),
37
			vec.rotateZ(2 * angle),
38
			vec.rotateZ(3 * angle),
39
			vec.rotateZ(4 * angle)
40
		]);
41

42
	angle = 360 / 4;
43
	var square = CSG.Polygon.createFromPoints([
44
			vec,
45
			vec.rotateZ(1 * angle),
46
			vec.rotateZ(2 * angle),
47
			vec.rotateZ(3 * angle)
48
		]);
49

50
	angle = 360 / 3;
51
	var triag = CSG.Polygon.createFromPoints([
52
			vec,
53
			vec.rotateZ(1 * angle),
54
			vec.rotateZ(2 * angle)
55
		]);
56

57
	var polygons = [pol7, hex, pent, square, triag, pol7, hex, pent, square, triag];
58

59
	return triag.solidFromSlices({
60
		numslices: polygons.length,
61
		callback: function(t, slice) {
62
			return polygons[slice].translate (
63
					[0,0,height * t]
64
				);
65
		}
66
	});
67
}
68

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.