efront 3.14.0 → 3.14.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coms/basic/Array2.js +9 -0
- package/coms/basic/Speed.js +120 -0
- package/coms/basic/assert.js +11 -2
- package/coms/basic/matrix.js +283 -0
- package/coms/basic/parseYML.js +5 -3
- package/coms/compile/common.js +6 -2
- package/coms/kugou/buildScroll.less +4 -0
- package/coms/zimoli/autodragchildren.js +2 -2
- package/coms/zimoli/confirm.js +0 -3
- package/coms/zimoli/data.js +3 -1
- package/coms/zimoli/drag.js +23 -6
- package/coms/zimoli/inertia.js +1 -70
- package/coms/zimoli/isMounted.js +4 -1
- package/coms/zimoli/lattice.js +1 -0
- package/coms/zimoli/list.js +43 -25
- package/coms/zimoli/matrix_test.js +10 -0
- package/coms/zimoli/menu.less +3 -1
- package/coms/zimoli/oncemount.js +7 -0
- package/coms/zimoli/onmounted.js +0 -1
- package/coms/zimoli/picture_.js +64 -58
- package/coms/zimoli/popup.js +1 -1
- package/coms/zimoli/render.js +13 -8
- package/coms/zimoli/search.js +4 -1
- package/coms/zimoli/slider.js +4 -2
- package/coms/zimoli/speed.js +10 -14
- package/coms/zimoli/speed_test.js +34 -0
- package/coms/zimoli/table.html +3 -1
- package/coms/zimoli/table.js +13 -10
- package/coms/zimoli/table.less +29 -12
- package/coms/zimoli/tree.less +0 -2
- package/coms/zimoli/vbox.js +34 -68
- package/coms/zimoli/vscroll.js +3 -2
- package/coms/zimoli/zIndex.js +5 -3
- package/package.json +1 -1
- package/public/efront.js +1 -1
- package/coms/zimoli/matrix.js +0 -146
package/coms/zimoli/matrix.js
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
// 空间变换算法
|
|
2
|
-
// function [dots]=xrs(dots,wyh)
|
|
3
|
-
// % 转动,缩放,平移,依次进行
|
|
4
|
-
// % wyh.mid为变换中心
|
|
5
|
-
// % wyh.ppt为转动轴的方向
|
|
6
|
-
// % wyh.alph为转动角度
|
|
7
|
-
// % wyh.scrl为缩放系数,反射可设轴向系数为-1
|
|
8
|
-
// % wyh.drag为平移向量
|
|
9
|
-
// wyh.alph=pi*wyh.alph/180;
|
|
10
|
-
// if size(dots,2)==3
|
|
11
|
-
// if numel(wyh.ppt) == 2
|
|
12
|
-
// theta = pi*wyh.ppt(1)/180;
|
|
13
|
-
// phi = pi*wyh.ppt(2)/180;
|
|
14
|
-
// rot_u = [cos(phi)*cos(theta); cos(phi)*sin(theta); sin(phi)];
|
|
15
|
-
// elseif numel(wyh.ppt) == 3
|
|
16
|
-
// rot_u = wyh.ppt(:)/norm(wyh.ppt);
|
|
17
|
-
// end
|
|
18
|
-
// x_u = rot_u(1);
|
|
19
|
-
// y_u = rot_u(2);
|
|
20
|
-
// z_u = rot_u(3);
|
|
21
|
-
// cosa = cos(wyh.alph);
|
|
22
|
-
// sina = sin(wyh.alph);
|
|
23
|
-
// vera = 1 - cosa;
|
|
24
|
-
// rot = [cosa+x_u^2*vera x_u*y_u*vera-z_u*sina x_u*z_u*vera+y_u*sina; ...
|
|
25
|
-
// x_u*y_u*vera+z_u*sina cosa+y_u^2*vera y_u*z_u*vera-x_u*sina; ...
|
|
26
|
-
// x_u*z_u*vera-y_u*sina y_u*z_u*vera+x_u*sina cosa+z_u^2*vera]';
|
|
27
|
-
// else
|
|
28
|
-
// rot=[cos(wyh.alph),-sin(wyh.alph);sin(wyh.alph),cos(wyh.alph)];
|
|
29
|
-
// end
|
|
30
|
-
// for cx=1:size(dots,1)
|
|
31
|
-
// dots(cx,:)=(dots(cx,:)-wyh.mid).*wyh.scrl*rot+wyh.mid+wyh.drag;
|
|
32
|
-
// end
|
|
33
|
-
// end
|
|
34
|
-
var pi = Math.PI;
|
|
35
|
-
var { cos, sin, sqrt } = Math;
|
|
36
|
-
var norm = function (vector) {
|
|
37
|
-
var [x, y, z] = vector;
|
|
38
|
-
return sqrt(x * x + y * y + z * z);
|
|
39
|
-
};
|
|
40
|
-
var vectorDivide = function (vector, num) {
|
|
41
|
-
var [x, y, z] = vector;
|
|
42
|
-
return [x / num, y / num, z / num];
|
|
43
|
-
};
|
|
44
|
-
var vectorMinus = function (vector1, vector2) {
|
|
45
|
-
var [x1, y1, z1] = vector1;
|
|
46
|
-
var [x2, y2, z2] = vector2;
|
|
47
|
-
return [x1 - x2, y1 - y2, z1 - z2];
|
|
48
|
-
};
|
|
49
|
-
var vectorPlus = function (vector1, vector2) {
|
|
50
|
-
var [x1, y1, z1] = vector1;
|
|
51
|
-
var [x2, y2, z2] = vector2;
|
|
52
|
-
return [x1 + x2, y1 + y2, z1 + z2];
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
var crossMultiply = function (A, B) {
|
|
56
|
-
var [xa, ya, za] = A;
|
|
57
|
-
var [xb, yb, zb] = B;
|
|
58
|
-
return [ya * zb - yb * za, za * xb - zb * xa, xa * yb - ya * xb];
|
|
59
|
-
};
|
|
60
|
-
var innerMultiply = function (A, B) {
|
|
61
|
-
var [xa, ya, za] = A;
|
|
62
|
-
var [xb, yb, zb] = B;
|
|
63
|
-
return xa * xb + ya * yb + za * zb;
|
|
64
|
-
};
|
|
65
|
-
var vectorMultify = function (vector1, vector2) {
|
|
66
|
-
var [x1, y1, z1] = vector1;
|
|
67
|
-
var [x2, y2, z2] = vector2;
|
|
68
|
-
return [x1 * x2, y1 * y2, z1 * z2];
|
|
69
|
-
};
|
|
70
|
-
var matrixMultify = function (A, B) {
|
|
71
|
-
var [
|
|
72
|
-
a11, a12, a13
|
|
73
|
-
] = A;
|
|
74
|
-
var [
|
|
75
|
-
[b11, b12, b13],
|
|
76
|
-
[b21, b22, b23],
|
|
77
|
-
[b31, b32, b33]
|
|
78
|
-
] = B;
|
|
79
|
-
return [
|
|
80
|
-
a11 * b11 + a12 * b21 + a13 * b31,
|
|
81
|
-
a11 * b12 + a12 * b22 + a13 * b32,
|
|
82
|
-
a11 * b13 + a12 * b23 + a13 * b33
|
|
83
|
-
];
|
|
84
|
-
};
|
|
85
|
-
var getMetrix4d = function (wyh) {
|
|
86
|
-
var vector = wyh.vector;
|
|
87
|
-
switch (vector.length) {
|
|
88
|
-
case 2:
|
|
89
|
-
var theta = pi * vector[0] / 180;
|
|
90
|
-
var phi = pi * vector[1] / 180;
|
|
91
|
-
var rot_u = [cos(phi) * cos(theta), cos(phi) * sin(theta), sin(phi)];
|
|
92
|
-
break;
|
|
93
|
-
case 3:
|
|
94
|
-
var mode = norm(vector);
|
|
95
|
-
rot_u = vectorDivide(vector, mode);
|
|
96
|
-
break;
|
|
97
|
-
default:
|
|
98
|
-
throw new Error("向的维度不支持");
|
|
99
|
-
}
|
|
100
|
-
var [x_u, y_u, z_u] = rot_u;
|
|
101
|
-
var cosa = cos(wyh.theta);
|
|
102
|
-
var sina = sin(wyh.theta);
|
|
103
|
-
var vera = 1 - cosa;
|
|
104
|
-
return [
|
|
105
|
-
[cosa + x_u ^ 2 * vera, x_u * y_u * vera - z_u * sina, x_u * z_u * vera + y_u * sina],
|
|
106
|
-
[x_u * y_u * vera + z_u * sina, cosa + y_u ^ 2 * vera, y_u * z_u * vera - x_u * sina],
|
|
107
|
-
[x_u * z_u * vera - y_u * sina, y_u * z_u * vera + x_u * sina, cosa + z_u ^ 2 * vera]
|
|
108
|
-
];
|
|
109
|
-
};
|
|
110
|
-
var getMetrix2d = function (wyh) {
|
|
111
|
-
return [
|
|
112
|
-
[cos(wyh.theta), -sin(wyh.theta)],
|
|
113
|
-
[sin(wyh.theta), cos(wyh.theta)]
|
|
114
|
-
];
|
|
115
|
-
};
|
|
116
|
-
var xrs = function (dots, wyh) {
|
|
117
|
-
// % 转动,缩放,平移,依次进行
|
|
118
|
-
// % wyh.center为变换中心
|
|
119
|
-
// % wyh.vector为转动轴的方向
|
|
120
|
-
// % wyh.theta为转动角度
|
|
121
|
-
// % wyh.scale为缩放系数,反射可设轴向系数为-1
|
|
122
|
-
// % wyh.move为平移向量
|
|
123
|
-
var { center = [0, 0, 0], scale = [1, 1, 1], move = [0, 0, 0] } = wyh;
|
|
124
|
-
var rot = getMetrix4d(wyh);
|
|
125
|
-
return dots.map(function (dot) {
|
|
126
|
-
dot = vectorMinus(dot, center);
|
|
127
|
-
dot = vectorMultify(dot, scale);
|
|
128
|
-
dot = matrixMultify(dot, rot);
|
|
129
|
-
dot = vectorPlus(dot, center);
|
|
130
|
-
dot = vectorPlus(dot, move);
|
|
131
|
-
return dot;
|
|
132
|
-
});
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
var matrix = {
|
|
136
|
-
xrs,
|
|
137
|
-
getMetrix2d,
|
|
138
|
-
getMetrix3d: getMetrix4d,
|
|
139
|
-
crossMultiply,
|
|
140
|
-
innerMultiply,
|
|
141
|
-
vectorMultify,
|
|
142
|
-
vectorDivide,
|
|
143
|
-
vectorMinus,
|
|
144
|
-
vectorPlus,
|
|
145
|
-
norm
|
|
146
|
-
};
|