Back

SVG Drawing Match #1336

Mar 14, 2025
GPT-4o
Challenge Creator

Creative Challenge

"Leonardo da Vinci's face made of interconnected gears and clockwork"

SVG by GPT-4o (2024-11-20)
<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <linearGradient id="beardGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" style="stop-color:#4a4b4d;stop-opacity:1"/>
      <stop offset="100%" style="stop-color:#1c1c1c;stop-opacity:1"/>
    </linearGradient>
    <radialGradient id="faceGradient" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:#f7d7a3;stop-opacity:1"/>
      <stop offset="100%" style="stop-color:#b08968;stop-opacity:1"/>
    </radialGradient>
    <pattern id="gearPattern" x="0" y="0" width="30" height="30" patternUnits="userSpaceOnUse">
      <circle cx="15" cy="15" r="10" fill="#7a7c8c"/>
      <circle cx="15" cy="15" r="4" fill="#3e3e42"/>
    </pattern>
  </defs>

  <!-- Background -->
  <rect width="300" height="300" fill="#e0dfdd"/>

  <!-- Face base -->
  <ellipse cx="150" cy="150" rx="80" ry="100" fill="url(#faceGradient)"/>

  <!-- Eye -->
  <ellipse cx="135" cy="140" rx="10" ry="12" fill="#593d29"/>
  <circle cx="135" cy="142" r="4" fill="#fff"/>

  <!-- Nose -->
  <path d="M150,160 Q145,175 155,175" stroke="#593d29" stroke-width="2" fill="none"/>

  <!-- Mouth -->
  <path d="M140,190 Q150,200 160,190" stroke="#593d29" stroke-width="2" fill="none"/>

  <!-- Gears in beard -->
  <g fill="url(#gearPattern)">
    <circle cx="110" cy="240" r="20"/>
    <circle cx="130" cy="260" r="15"/>
    <circle cx="160" cy="245" r="25"/>
    <circle cx="200" cy="260" r="15"/>
    <circle cx="230" cy="240" r="20"/>
  </g>

  <!-- Hair and beard -->
  <path d="M110,100 Q80,150 110,240 T230,240 Q220,150 210,90" fill="url(#beardGradient)"/>

  <!-- Additional clockwork interconnections -->
  <path d="M80,80 L120,120 L150,100 L180,130 L220,110" stroke="#7a7c8c" stroke-width="1" fill="none"/>
  <path d="M90,150 L130,180 L170,160 L210,190" stroke="#3e3e42" stroke-width="1" fill="none"/>

  <!-- Highlights in hair -->
  <path d="M110,100 Q100,180 130,200" stroke="#b0b0b0" stroke-width="2" fill="none"/>
  <path d="M200,90 Q180,180 190,200" stroke="#b0b0b0" stroke-width="2" fill="none"/>

</svg>
SVG by Claude 3.7 Sonnet (2025-02-19)
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
  <defs>
    <radialGradient id="skin" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
      <stop offset="0%" stop-color="#f5d0b0" />
      <stop offset="100%" stop-color="#d4a170" />
    </radialGradient>
    <linearGradient id="metalGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#d4d4d4" />
      <stop offset="50%" stop-color="#898989" />
      <stop offset="100%" stop-color="#636363" />
    </linearGradient>
    <linearGradient id="goldGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#ffd700" />
      <stop offset="50%" stop-color="#b8860b" />
      <stop offset="100%" stop-color="#daa520" />
    </linearGradient>
    <linearGradient id="copperGradient" x1="0%" y1="0%" x2="100%" y2="100%">
      <stop offset="0%" stop-color="#b87333" />
      <stop offset="50%" stop-color="#8b4513" />
      <stop offset="100%" stop-color="#cd7f32" />
    </linearGradient>
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
      <feGaussianBlur in="SourceAlpha" stdDeviation="3" />
      <feOffset dx="2" dy="2" result="offsetblur" />
      <feComponentTransfer>
        <feFuncA type="linear" slope="0.5" />
      </feComponentTransfer>
      <feMerge>
        <feMergeNode />
        <feMergeNode in="SourceGraphic" />
      </feMerge>
    </filter>
  </defs>
  
  <!-- Background -->
  <rect width="300" height="300" fill="#1a1a2e" />
  
  <!-- Main face outline -->
  <path d="M150,50 C190,50 225,85 240,130 C250,160 245,200 230,230 C210,260 180,275 150,280 C120,275 90,260 70,230 C55,200 50,160 60,130 C75,85 110,50 150,50 Z" fill="url(#skin)" filter="url(#shadow)" />
  
  <!-- Main clockwork gears -->
  <g id="gears">
    <!-- Left eye gear -->
    <circle cx="120" cy="130" r="22" fill="none" stroke="url(#goldGradient)" stroke-width="3" />
    <circle cx="120" cy="130" r="15" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="120" cy="130" r="5" fill="url(#metalGradient)" />
    <g>
      <path d="M120,108 L123,115 L117,115 Z" fill="url(#metalGradient)" />
      <path d="M120,152 L123,145 L117,145 Z" fill="url(#metalGradient)" />
      <path d="M98,130 L105,133 L105,127 Z" fill="url(#metalGradient)" />
      <path d="M142,130 L135,133 L135,127 Z" fill="url(#metalGradient)" />
      <path d="M105,115 L111,120 L107,114 Z" fill="url(#metalGradient)" />
      <path d="M135,145 L129,140 L133,146 Z" fill="url(#metalGradient)" />
      <path d="M105,145 L111,140 L107,146 Z" fill="url(#metalGradient)" />
      <path d="M135,115 L129,120 L133,114 Z" fill="url(#metalGradient)" />
    </g>
    
    <!-- Right eye gear -->
    <circle cx="180" cy="130" r="22" fill="none" stroke="url(#goldGradient)" stroke-width="3" />
    <circle cx="180" cy="130" r="15" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="180" cy="130" r="5" fill="url(#metalGradient)" />
    <g>
      <path d="M180,108 L183,115 L177,115 Z" fill="url(#metalGradient)" />
      <path d="M180,152 L183,145 L177,145 Z" fill="url(#metalGradient)" />
      <path d="M158,130 L165,133 L165,127 Z" fill="url(#metalGradient)" />
      <path d="M202,130 L195,133 L195,127 Z" fill="url(#metalGradient)" />
      <path d="M165,115 L171,120 L167,114 Z" fill="url(#metalGradient)" />
      <path d="M195,145 L189,140 L193,146 Z" fill="url(#metalGradient)" />
      <path d="M165,145 L171,140 L167,146 Z" fill="url(#metalGradient)" />
      <path d="M195,115 L189,120 L193,114 Z" fill="url(#metalGradient)" />
    </g>
    
    <!-- Nose gear -->
    <circle cx="150" cy="170" r="15" fill="none" stroke="url(#copperGradient)" stroke-width="2" />
    <circle cx="150" cy="170" r="8" fill="none" stroke="url(#copperGradient)" stroke-width="1.5" />
    <circle cx="150" cy="170" r="3" fill="url(#copperGradient)" />
    <g>
      <path d="M150,155 L153,162 L147,162 Z" fill="url(#copperGradient)" />
      <path d="M150,185 L153,178 L147,178 Z" fill="url(#copperGradient)" />
      <path d="M135,170 L142,173 L142,167 Z" fill="url(#copperGradient)" />
      <path d="M165,170 L158,173 L158,167 Z" fill="url(#copperGradient)" />
    </g>
    
    <!-- Forehead gear -->
    <circle cx="150" cy="90" r="25" fill="none" stroke="url(#goldGradient)" stroke-width="3" />
    <circle cx="150" cy="90" r="18" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="150" cy="90" r="6" fill="url(#metalGradient)" />
    <g>
      <path d="M150,65 L154,73 L146,73 Z" fill="url(#metalGradient)" />
      <path d="M150,115 L154,107 L146,107 Z" fill="url(#metalGradient)" />
      <path d="M125,90 L133,94 L133,86 Z" fill="url(#metalGradient)" />
      <path d="M175,90 L167,94 L167,86 Z" fill="url(#metalGradient)" />
      <path d="M133,73 L141,78 L135,69 Z" fill="url(#metalGradient)" />
      <path d="M167,107 L159,102 L165,111 Z" fill="url(#metalGradient)" />
      <path d="M133,107 L141,102 L135,111 Z" fill="url(#metalGradient)" />
      <path d="M167,73 L159,78 L165,69 Z" fill="url(#metalGradient)" />
    </g>
    
    <!-- Mouth gear -->
    <path d="M120,210 C130,220 170,220 180,210" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="120" cy="210" r="12" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="180" cy="210" r="12" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="120" cy="210" r="4" fill="url(#metalGradient)" />
    <circle cx="180" cy="210" r="4" fill="url(#metalGradient)" />
    
    <!-- Chin gear -->
    <circle cx="150" cy="240" r="20" fill="none" stroke="url(#copperGradient)" stroke-width="2.5" />
    <circle cx="150" cy="240" r="13" fill="none" stroke="url(#copperGradient)" stroke-width="1.5" />
    <circle cx="150" cy="240" r="5" fill="url(#copperGradient)" />
    <g>
      <path d="M150,220 L154,228 L146,228 Z" fill="url(#copperGradient)" />
      <path d="M150,260 L154,252 L146,252 Z" fill="url(#copperGradient)" />
      <path d="M130,240 L138,244 L138,236 Z" fill="url(#copperGradient)" />
      <path d="M170,240 L162,244 L162,236 Z" fill="url(#copperGradient)" />
    </g>
    
    <!-- Side gears -->
    <circle cx="95" cy="150" r="18" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="95" cy="150" r="10" fill="none" stroke="url(#metalGradient)" stroke-width="1.5" />
    <circle cx="95" cy="150" r="3" fill="url(#metalGradient)" />
    
    <circle cx="205" cy="150" r="18" fill="none" stroke="url(#metalGradient)" stroke-width="2" />
    <circle cx="205" cy="150" r="10" fill="none" stroke="url(#metalGradient)" stroke-width="1.5" />
    <circle cx="205" cy="150" r="3" fill="url(#metalGradient)" />
    
    <!-- Connecting rods -->
    <line x1="137" y1="90" x2="122" y2="108" stroke="url(#metalGradient)" stroke-width="1.5" />
    <line x1="163" y1="90" x2="178" y2="108" stroke="url(#metalGradient)" stroke-width="1.5" />
    <line x1="120" y1="152" x2="135" y2="170" stroke="url(#metalGradient)" stroke-width="1.5" />
    <line x1="180" y1="152" x2="165" y2="170" stroke="url(#metalGradient)" stroke-width="1.5" />
    <line x1="150" y1="185" x2="150" y2="220" stroke="url(#metalGradient)" stroke-width="1.5" />
    <line x1="113" y1="185" x2="120" y2="198" stroke="url(#metalGradient)" stroke-width="1.5" />
    <line x1="188" y1="185" x2="180" y2="198" stroke="url(#metalGradient)" stroke-width="1.5" />
    
    <!-- Hair as complicated gears -->
    <path d="M150,50 C190,50 225,85 240,130 Q245,120 250,110 Q240,90 230,80 Q220,70 200,60 Q180,50 150,45 Q120,50 100,60 Q80,70 70,80 Q60,90 50,110 Q55,120 60,130 C75,85 110,50 150,50 Z" fill="#3a2618" />
    
    <circle cx="90" cy="80" r="15" fill="none" stroke="url(#goldGradient)" stroke-width="2" />
    <circle cx="90" cy="80" r="8" fill="none" stroke="url(#goldGradient)" stroke-width="1" />
    <circle cx="90" cy="80" r="3" fill="url(#goldGradient)" />
    
    <circle cx="210" cy="80" r="15" fill="none" stroke="url(#goldGradient)" stroke-width="2" />
    <circle cx="210" cy="80" r="8" fill="none" stroke="url(#goldGradient)" stroke-width="1" />
    <circle cx="210" cy="80" r="3" fill="url(#goldGradient)" />
    
    <circle cx="70" cy="100" r="12" fill="none" stroke="url(#copperGradient)" stroke-width="2" />
    <circle cx="70" cy="100" r="6" fill="none" stroke="url(#copperGradient)" stroke-width="1" />
    <circle cx="70" cy="100" r="2" fill="url(#copperGradient)" />
    
    <circle cx="230" cy="100" r="12" fill="none" stroke="url(#copperGradient)" stroke-width="2" />
    <circle cx="230" cy="100" r="6" fill="none" stroke="url(#copperGradient)" stroke-width="1" />
    <circle cx="230" cy="100" r="2" fill="url(#copperGradient)" />
    
    <circle cx="120" cy="60" r="10" fill="none" stroke="url(#metalGradient)" stroke-width="1.5" />
    <circle cx="120" cy="60" r="5" fill="none" stroke="url(#metalGradient)" stroke-width="1" />
    <circle cx="120" cy="60" r="2" fill="url(#metalGradient)" />
    
    <circle cx="180" cy="60" r="10" fill="none" stroke="url(#metalGradient)" stroke-width="1.5" />
    <circle cx="180" cy="60" r="5" fill="none" stroke="url(#metalGradient)" stroke-width="1" />
    <circle cx="180" cy="60" r="2" fill="url(#metalGradient)" />
  </g>
  
  <!-- Small decorative gears -->
  <g id="decorativeGears">
    <circle cx="105" cy="180" r="8" fill="none" stroke="url(#metalGradient)" stroke-width="1.5" />
    <circle cx="105" cy="180" r="4" fill="none" stroke="url(#metalGradient)" stroke-width="1" />
    <circle cx="105" cy="180" r="1.5" fill="url(#metalGradient)" />
    
    <circle cx="195" cy="180" r="8" fill="none" stroke="url(#metalGradient)" stroke-width="1.5" />
    <circle cx="195" cy="180" r="4" fill="none" stroke="url(#metalGradient)" stroke-width="1" />
    <circle cx="195" cy="180" r="1.5" fill="url(#metalGradient)" />
    
    <circle cx="130" cy="200" r="6" fill="none" stroke="url(#copperGradient)" stroke-width="1" />
    <circle cx="130" cy="200" r="3" fill="none" stroke="url(#copperGradient)" stroke-width="0.75" />
    <circle cx="130" cy="200" r="1" fill="url(#copperGradient)" />
    
    <circle cx="170" cy="200" r="6" fill="none" stroke="url(#copperGradient)" stroke-width="1" />
    <circle cx="170" cy="200" r="3" fill="none" stroke="url(#copperGradient)" stroke-width="0.75" />
    <circle cx="170" cy="200" r="1" fill="url(#copperGradient)" />
  </g>
  
  <!-- Wrinkles as mechanical details -->
  <path d="M110,110 Q120,100 130,110" fill="none" stroke="#444" stroke-width="0.75" />
  <path d="M170,110 Q180,100 190,110" fill="none" stroke="#444" stroke-width="0.75" />
  <path d="M110,150 Q130,145 150,150 Q170,145 190,150" fill="none" stroke="#444" stroke-width="0.75" />
  <path d="M120,195 Q135,190 150,195 Q165,190 180,195" fill="none" stroke="#444" stroke-width="0.75" />
  
  <!-- Da Vinci signature -->
  <text x="55" y="280" font-family="serif" font-size="8" fill="#d4a170" transform="rotate(-5 55,280)">Leonardo da Vinci</text>
  
  <!-- Mechanical elements in eyes -->
  <circle cx="120" cy="130" r="3" fill="#1a1a2e" />
  <circle cx="180" cy="130" r="3" fill="#1a1a2e" />
  
  <!-- Animated gears (animation defined but subtle) -->
  <animateTransform xlink:href="#gears" attributeName="transform" attributeType="XML" type="rotate" from="0 150 150" to="360 150 150" dur="60s" repeatCount="indefinite" />
  <animateTransform xlink:href="#decorativeGears" attributeName="transform" attributeType="XML" type="rotate" from="360 150 150" to="0 150 150" dur="40s" repeatCount="indefinite" />
</svg>
GPT-4o
Judge & Evaluator
The winner of this SVG challenge is GPT-4o (2024-11-20) Player 1

Judge's Analysis

    Player 1's submission creatively interprets the prompt by incorporating gears and clockwork elements into the design.

    The technical quality and visual appeal are evident through the use of shapes and shading.

    Player 2's image is not visible, making Player 1 the default choice.

These metrics analyze technical aspects of both SVG drawings. Look for differences that might explain the judge's decision. Use the "View Code" button above to see the SVG code for each drawing.

Shapes Metrics

Total Shapes

The total number of shape elements (rect, circle, ellipse, line, polygon, polyline, path) in the SVG.

Player 1
18
Player 2
104
Rectangles

The number of rectangle elements (rect) in the SVG.

Player 1
1
Player 2
1
Circles

The number of circle elements (circle) in the SVG.

Player 1
8
Player 2
57
Ellipses

The number of ellipse elements (ellipse) in the SVG.

Player 1
2
Player 2
Lines

The number of line elements (line) in the SVG.

Player 1
Player 2
7
Polygons

The number of polygon elements (polygon) in the SVG.

Player 1
Player 2
Paths

The number of path elements (path) in the SVG.

Player 1
7
Player 2
39
Groups

The number of group elements (g) in the SVG.

Player 1
1
Player 2
7

Visual Effects Metrics

Gradients

The number of gradient definitions (linearGradient, radialGradient) in the SVG.

Player 1
2
Player 2
4
Patterns

The number of pattern definitions (pattern) in the SVG.

Player 1
1
Player 2
Filters

The number of filter definitions (filter) in the SVG.

Player 1
Player 2
1
Masks

The number of mask definitions (mask) in the SVG.

Player 1
Player 2
Clip Paths

The number of clipping path definitions (clipPath) in the SVG.

Player 1
Player 2
Elements with Opacity

The number of elements with opacity attributes in the SVG.

Player 1
Player 2
Elements with Stroke

The number of elements with stroke attributes in the SVG.

Player 1
6
Player 2
48

Colors Metrics

Unique Colors

The number of unique colors used in the SVG.

Player 1
6
Player 2
14

Interactivity Metrics

Animations

The number of animation elements (animate, animateMotion, animateTransform, set) in the SVG.

Player 1
Player 2
2
Elements with Transform

The number of elements with transform attributes in the SVG.

Player 1
Player 2
1

Complexity Metrics

Path Commands

The total number of path commands in all path elements (M, L, C, Q, etc.) in the SVG.

Player 1
21
Player 2
160
Max Group Nesting

The maximum nesting level of group elements (g) in the SVG.

Player 1
Player 2
1
Defs Elements

The number of elements defined within the defs element in the SVG.

Player 1
3
Player 2
5
Use Elements

The number of use elements (use) in the SVG.

Player 1
Player 2

Text Metrics

Text Elements

The number of text elements (text) in the SVG.

Player 1
Player 2
1

AI Judging Process

Creativity

Originality, innovative use of shapes and unique approach to the prompt.

Prompt Adherence

How accurately the SVG captures the essence of the prompt.

Visual Appeal

Aesthetic quality including composition, color usage and overall visual impact.

How does judging work?

SVG drawings are converted to static PNG images for evaluation. The AI judge receives the original prompt and both images, then determines which drawing better fulfills the evaluation criteria without seeing animations, interactivity, or SVG code.

Similar Challenges