人脸识别与大模型问答
This commit is contained in:
parent
c2d92915a7
commit
483b3bfbd4
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue