kimi-k2.7-code 在「SVG 动态手绘风格柱状图」的评测结果
这是该 AI 模型在此测试用例上的详细评测结果。
基本信息
- 模型名称:kimi-k2.7-code
- 用例名称:SVG 动态手绘风格柱状图
- 测试类型:网页生成
- 评测维度:SVG 动效
系统提示词(System Prompt)
这是给 AI 模型的背景设定和角色指令:
你是一名前端开发工程师,擅长 SVG 图形与动画开发。 代码要求: 1. 生成完整的单页 HTML 应用 2. CSS 和 JavaScript 内联在 HTML 文件中 3. 代码结构清晰,有适当注释
用户提示词(User Prompt)
这是用户给 AI 模型的具体任务要求:
创建一个手绘风格的 SVG 柱状图。 功能要求: 1. 使用 SVG 绘制一组柱状图(至少 5 根柱子),展示一组静态数据 2. 为柱子应用 feTurbulence 滤镜,使柱子边缘呈现手绘不规则感 3. 页面加载时,柱子从底部向上生长,带有简单的上升动画 4. 包含 X 轴标签和 Y 轴刻度 5. 整体视觉风格接近手绘草图感
任务要求
AI 模型需要满足以下要求:
- SVG 柱状图正确渲染,包含至少 5 根柱子
- feTurbulence 滤镜生效,柱子边缘呈现手绘不规则感
- 页面加载时柱子有从底部向上生长的动画
- 包含 X 轴标签和 Y 轴刻度
- 整体视觉具有草图/手绘风格
评测结果
综合得分
该模型在此用例的得分为:86.5 分(满分 100 分),已通过
基础难度评测结果
- 得分:86.5 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html 手绘风格 SVG 柱状图 :root { --paper-bg: #fdfbf7; --ink-color: #2c3e50; --accent-color: #e67e22; --grid-color: #bdc3c7; } body { margin: 0; padding: 0; min-height: 100vh; display: flex; justify-content: center; align-items: center; background-color: var(--paper-bg); /* 纸张纹理背景 */ background-image: radial-gradient(#d6d3cd 1px, transparent 1px); background-size: 20px 20px; font-family: 'Patrick Hand', cursive, sans-serif; color: var(--ink-color); } .chart-card { width: 90%; max-width: 800px; padding: 2rem; background: #fff; border: 2px solid var(--ink-color); border-radius: 4px; box-shadow: 8px 8px 0px rgba(44, 62, 80, 0.15); /* 微微倾斜的边框效果模拟纸张 */ transform: rotate(-0.5deg); } h1 { text-align: center; margin: 0 0 0.5rem 0; font-size: 2rem; letter-spacing: 1px; } p.subtitle { text-align: center; margin: 0 0 2rem 0; color: #7f8c8d; font-size: 1.1rem; } .chart-container { width: 100%; position: relative; /* 确保 SVG 响应式 */ overflow: visible; } svg { width: 100%; height: auto; display: block; overflow: visible; } /* 坐标轴和标签样式 */ .axis { fill: none; stroke: var(--ink-color); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; } .y-tick { stroke: var(--grid-color); stroke-width: 1.5; stroke-dasharray: 5, 5; /* 虚线网格 */ opacity: 0.6; } .y-label, .x-label { font-size: 16px; fill: var(--ink-color); text-anchor: end; dominant-baseline: middle; } .x-label { text-anchor: middle; dominant-baseline: hanging; } /* 柱子样式 */ .bar { fill: var(--accent-color); stroke: var(--ink-color); stroke-width: 2.5; cursor: pointer; transition: fill 0.2s ease; } .bar:hover { fill: #d35400; } /* 生长动画关键帧 */ @keyframes growUp { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: 1; } } /* 工具提示 */ .tooltip { position: absolute; top: 0; left: 0; background: var(--ink-color); color: #fff; padding: 6px 10px; border-radius: 4px; font-size: 14px; pointer-events: none; opacity: 0; transform: translate(-50%, -120%); transition: opacity 0.2s; white-space: nowrap;...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】该实现整体质量较高,代码结构清晰,注释详尽,充分体现了对 SVG 高级特性的掌握。feTurbulence 滤镜的综合运用是亮点,手绘风格设计细节丰富(字体、背景纹理、卡片倾斜等)。主要技术风险在于 CSS transform-origin 在 SVG 元素上的行为差异可能影响动画效果,以及 displacement scale 偏小导致手绘感略显不足。整体而言是一个功能完整、视觉效果良好的手绘风格柱状图实现。 【GEMINI】该生成结果非常出色,完美完成了所有功能要求。模型展现了对 SVG 滤镜(feTurbulence)高级特性的深刻理解,并结合现代前端开发技巧(CSS 变量、JS 操作 SVG 命名空间、Web Fonts)打造了一个视觉统一、交互流畅的手绘风格动态图表。细节处理到位,如滤镜的 seed 随机化和动画的贝塞尔曲线函数,体现了极高的专业水准。 【KIMI】该实现是一个高质量的手绘风格 SVG 柱状图,滤镜应用专业,视觉风格统一且细节丰富(纸张纹理、手写字体、阴影效果等)。动画实现简洁有效,图表要素完整。主要改进空间在于:增强滤镜扭曲强度以提升手绘感、优化动画实现方式以提升跨浏览器稳定性、以及增加无障碍支持。
困难难度评测结果
- 得分:71.2 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
```html Hand-Drawn SVG Dynamic Chart @import url('https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap'); :root { --paper-color: #fdfbf7; --ink-color: #2c3e50; --grid-color: #e0e0e0; --accent-1: #FF6B6B; --accent-2: #4ECDC4; --accent-3: #45B7D1; --accent-4: #96CEB4; --accent-5: #FFEEAD; } body { font-family: 'Patrick Hand', cursive; background-color: #f0f2f5; color: var(--ink-color); overflow-x: hidden; } /* Draft Paper Background */ .paper { background-color: var(--paper-color); background-image: radial-gradient(#d1d1d1 1px, transparent 1px), radial-gradient(#d1d1d1 1px, transparent 1px); background-size: 20px 20px; background-position: 0 0, 10px 10px; box-shadow: 0 10px 30px -5px rgba(0,0,0,0.15), 0 4px 6px -2px rgba(0,0,0,0.05); } .sketchy-border { border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px; border: 2px solid var(--ink-color); } .control-panel { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(4px); } /* Custom Range Slider Styling */ input[type=range] { -webkit-appearance: none; width: 100%; background: transparent; } input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; height: 18px; width: 18px; border-radius: 50%; background: var(--accent-2); border: 2px solid var(--ink-color); cursor: pointer; margin-top: -7px; transition: transform 0.1s; } input[type=range]::-webkit-slider-thumb:hover { transform: scale(1.2); } input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 4px; cursor: pointer; background: #cbd5e1; border-radius: 2px; border: 1px solid rgba(0,0,0,0.1); } .chart-container { position: relative; cursor: crosshair; } /* Tooltip styling */ #tooltip { position: absolute; pointer-events: none; opacity: 0; transition: opacity 0.2s; z-index: 50; transform: translate(-50%, -120%); } .btn-sketch { transition: all 0.2s ease; } .btn-sketch:hover { transform: translateY(-2px) rotate(-1deg); box-shadow: 2px 4px 0px rgba(0,0,0,0.2); } .btn-sketch:active { transform: translateY(0)...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】该实现在架构设计上有较好的思路,正确使用了 feTurbulence + feDisplacementMap 组合滤镜并进行差异化配置,代码结构模块化清晰,整体手绘风格视觉设计有一定水准。然而存在几个关键 bug:折线图 dotGroup 的 SVG namespace 写错导致折线图功能基本失效;tooltip 的 SVG filter 在 HTML 元素上无效;三阶段动画中弹跳阶段缺失;数据切换缺少真正的插值过渡动画。这些问题使得实际运行效果与设计意图有较大差距,尤其折线图功能的失效是较严重的缺陷。整体评价为「框架完整但实现有明显缺陷」,难以达到题目要求的高质量标准。 【GEMINI】这是一个高质量的实现。模型展示了对 SVG 滤镜(feTurbulence/feDisplacementMap)的精湛控制,不仅满足了复杂的手绘风格需求,还通过 JavaScript 动态调节滤镜参数实现了动态呼吸效果。虽然在图表类型切换时的‘形变动画’仅表现为元素的重新入场而非路径点对点的形变,但整体功能完整性、交互细节和视觉美学均表现优异。 【KIMI】该实现作为手绘风格 SVG 图表的基础框架较为完整,滤镜系统的差异化配置和整体视觉风格值得肯定。但在核心动画需求上存在明显短板:三阶段动画中的'上升抖动'和'到达后弹跳'未真正按规格实现,呼吸抖动幅度过弱,数据/图表切换缺少平滑过渡而是简单重播进入动画。交互层面的悬停增强效果也不够显著。代码结构良好但存在命名空间笔误等细节问题。总体而言达到了功能可用但距离'精心调校'的要求仍有差距,属于及格偏上的水平。
相关链接
您可以通过以下链接查看更多相关内容: