人脸识别与大模型问答

This commit is contained in:
jiang 2024-10-08 17:13:26 +08:00
parent c2d92915a7
commit 483b3bfbd4
1 changed files with 22 additions and 13 deletions

View File

@ -61,7 +61,7 @@ export default {
},
mounted() {
//
//this.pieInit();
this.pieInit();
this.echartsInit();
},
data() {
@ -110,13 +110,13 @@ export default {
this.$router.push(route);
}
},
// 3D
pieInit() {
let myChart = this.$echarts.init(this.$refs.pie);
this.option = this.getPie3D(this.optionData, 0.85);
myChart.setOption(this.option);
},
// 3D
// 3D
getPie3D(pieData, internalDiameterRatio) {
let series = [];
let sumValue = pieData.reduce((acc, cur) => acc + cur.value, 0);
@ -162,7 +162,7 @@ export default {
};
},
//
//
getLegendConfig(pieData) {
return {
data: pieData.map(item => ({name: item.name, value: item.value})),
@ -174,7 +174,7 @@ export default {
lineHeight: 20,
color: '#A1E2FF',
fontSize: '1rem',
padding: [30, 60, 10, 20],
padding: [30, 60, 10, 20]
},
itemHeight: 14,
itemWidth: 14,
@ -186,7 +186,7 @@ export default {
};
},
//
//
getTooltipConfig(series) {
return {
formatter: params => {
@ -200,7 +200,7 @@ export default {
};
},
// 3D
// 3D
getGrid3DConfig(series) {
const boxHeight = this.getHeight3D(series, 1);
return {
@ -211,18 +211,27 @@ export default {
viewControl: {
alpha: 25,
distance: 200,
autoRotate: true
autoRotate: true, // autoRotate
autoRotateSpeed: 5 //
},
postEffect: {
enable: true // GPU
},
light: {
main: {
intensity: 1.2 //
}
}
};
},
// 3D
// 3D
getHeight3D(series, height) {
const maxValue = Math.max(...series.map(item => item.pieData.value));
return height * 25 / maxValue;
},
//
//
getParametricEquation(startRatio, endRatio, isSelected, isHovered, k, h) {
const midRatio = (startRatio + endRatio) / 2;
const startRadian = startRatio * Math.PI * 2;
@ -230,11 +239,11 @@ export default {
const midRadian = midRatio * Math.PI * 2;
const offsetX = isSelected ? Math.cos(midRadian) * 0.1 : 0;
const offsetY = isSelected ? Math.sin(midRadian) * 0.1 : 0;
const hoverRate = isHovered ? 1.05 : 1;
const hoverRate = isHovered ? 1.02 : 1; // hoverRate
return {
u: {min: -Math.PI, max: Math.PI * 3, step: Math.PI / 32},
v: {min: 0, max: Math.PI * 2, step: Math.PI / 20},
u: {min: -Math.PI, max: Math.PI * 3, step: Math.PI / 16}, //
v: {min: 0, max: Math.PI * 2, step: Math.PI / 10}, //
x: (u, v) => {
if (u < startRadian) return offsetX + Math.cos(startRadian) * (1 + Math.cos(v) * k) * hoverRate;
if (u > endRadian) return offsetX + Math.cos(endRadian) * (1 + Math.cos(v) * k) * hoverRate;