見出し画像

AIは形をどれだけ理解しているか。形状認識テスト:ChatGPT・Claude・Gemini・MistralAI

ChatGPTやClaudeのようなAIは、画像生成AIではないため絵を書けないと思われがちですが、実は違います。
SVG画像なら、プログラムコードの要領で絵を書けるんです。

では、実際に形状の認識はどの程度できるのかご存じですか。
今回は、それぞれのAIに形状の少し複雑な絵を書かせてみたいと思います。


測定条件

  • 測定日:2024年12月17日 それぞれのAIプラットフォームにて1回目の回答結果を採用する

  • 検証に用いたAI

    • ChatGPT 4o

    • Claude 3.5 Sonnet

    • Gemini 2.0 Flash

    • ChatGPT o1

    • MistralAI Le Chat

  • プロンプト:各AIに統一した同じプロンプトを使用する

  • 画像の表示

    • ClaudeとMistralAIは、SVGの表示機能があるためSVGを表示させ画像のイラスト部分をスクリーンショットに収め表示

    • ChatGPTとGeminiはSVGの表示機能がないため、一度ファイルを保存しブラウザで表示させたものをスクリーンショットに収め表示

お題1:手

査定ポイント:指を1本ずつ描き分けられるか。パーの状態を依頼する

ChatGPT 4o

どちらが親指か分かりずらいものの、しっかりと手と分かりますね
<svg
  width="200"
  height="200"
  viewBox="0 0 200 200"
  xmlns="http://www.w3.org/2000/svg"
>
  <!-- 手のひら -->
  <path
    d="M100 150
       C 80 130, 70 100, 70 70
       L 80 20
       Q 85 10, 95 20
       L 100 70
       Q 100 30, 115 20
       Q 130 30, 130 70
       L 125 20
       Q 135 10, 145 20
       L 150 70
       Q 160 40, 175 50
       Q 185 60, 170 90
       Q 150 130, 100 150
       Z"
    fill="#FFDAB9"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 親指 -->
  <path
    d="M70 70
       Q 40 90, 50 120
       Q 60 150, 80 130
       Q 85 120, 75 110
       Q 65 100, 70 70
       Z"
    fill="#FFDAB9"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 人差し指 -->
  <path
    d="M80 20
       Q 70 10, 60 20
       Q 50 40, 60 70
       Q 70 100, 85 80
       Q 90 70, 80 20
       Z"
    fill="#FFD

Claude 3.5 Sonnet

色合いがピンクよりですが、親指と4本の指となっています。掌が分断されていて惜しい感じ。
<svg viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
  <!-- 手のひらの中心部分 -->
  <path d="M150 200 
           Q200 190 250 200 
           L250 350
           Q200 370 150 350 Z" 
        fill="#FFE4E1" stroke="#FFC0CB" stroke-width="2"/>
  
  <!-- 親指 -->
  <path d="M120 220 
           Q90 230 80 260
           Q70 290 90 310
           Q110 330 130 320" 
        fill="#FFE4E1" stroke="#FFC0CB" stroke-width="2"/>
  
  <!-- 人差し指 -->
  <path d="M170 190 
           Q180 150 190 100
           Q200 80 210 100
           Q220 150 210 200" 
        fill="#FFE4E1" stroke="#FFC0CB" stroke-width="2"/>
  
  <!-- 中指 -->
  <path d="M210 190 
           Q220 140 230 80
           Q240 60 250 80
           Q260 140 250 200" 
        fill="#FFE4E1" stroke="#FFC0CB" stroke-width="2"/>
  
  <!-- 薬指 -->
  <path d="M250 190 
           Q260 150 270 110
           Q280 90 290 110
           Q300 150 290 200" 
        fill="#FFE4E1" stroke="#FFC0CB" stroke-width="2"/>
  
  <!-- 小指 -->
  <path d="M290 200 
           Q300 170 310 140
           Q320 120 330 140
           Q340 170 330 210" 
        fill="#FFE4E1" stroke="#FFC0CB" stroke-width="2"/>
</svg>

Gemini 2.0 Flash

色合いは茶色い。掌がないが見た目がグローブをしていると思えばちょうどいい感じに見えます
<svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
  <!-- 手のひら -->
  <path d="M50 150 C 60 130, 140 130, 150 150 Q 140 180, 60 180 Z" fill="#f0d9b5" stroke="#964b00" stroke-width="2"/>
  
  <!-- 親指 -->
    <path d="M45 150 C 35 120, 55 100, 70 90 L 75 100 L 60 140  Z" fill="#f0d9b5" stroke="#964b00" stroke-width="2"/>
  
  <!-- 人差し指 -->
  <path d="M75 90 L 75 40 C 75 30, 85 20, 95 30 L 95 70  L 90 80 Z" fill="#f0d9b5" stroke="#964b00" stroke-width="2"/>
  
  <!-- 中指 -->
  <path d="M95 70 L 100 20 C 100 10, 110 10, 120 20 L 120 70 L 115 80 Z" fill="#f0d9b5" stroke="#964b00" stroke-width="2"/>
  
  <!-- 薬指 -->
   <path d="M120 70 L 125 30 C 125 20, 135 30, 140 40 L 140 70  L 135 80 Z" fill="#f0d9b5" stroke="#964b00" stroke-width="2"/>

  <!-- 小指 -->
  <path d="M140 70 L 145 50 C 145 40, 155 50, 160 60 L 160 80 L 155 90 Z" fill="#f0d9b5" stroke="#964b00" stroke-width="2"/>
  
</svg>

ChatGPT o1

惜しい!四本の指が少しだけ手のひらからずれています
<svg width="500" height="500" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg">
    <!-- 背景色(任意) -->
    <rect width="100%" height="100%" fill="#f9f9f9" />
    
    <!-- 手のひら部分 -->
    <path d="M250,300 
             C210,280,180,250,180,220 
             C180,190,200,160,240,160 
             C280,160,320,190,320,220 
             C320,250,290,280,250,300" 
          fill="#f2d2a9" stroke="#c7a17d" stroke-width="3" />

    <!-- 親指 -->
    <path d="M240,220 
             C210,210,190,190,190,170 
             C190,160,200,150,210,150 
             C220,150,230,160,230,170 
             C230,180,240,200,240,220" 
          fill="#f2d2a9" stroke="#c7a17d" stroke-width="3" />

    <!-- 人差し指 -->
    <path d="M250,160 
             C250,130,255,100,270,100 
             C285,100,290,130,290,160 
             C290,170,290,180,285,190 
             C280,195,260,195,255,190 
             C250,180,250,170,250,160" 
          fill="#f2d2a9" stroke="#c7a17d" stroke-width="3" />

    <!-- 中指 -->
    <path d="M290,165 
             C290,130,295,90,310,90 
             C325,90,330,130,330,165 
             C330,175,330,190,325,195 
             C320,200,300,200,295,195 
             C290,190,290,175,290,165" 
          fill="#f2d2a9" stroke="#c7a17d" stroke-width="3" />

    <!-- 薬指 -->
    <path d="M320,180 
             C320,150,325,120,335,120 
             C345,120,350,150,350,180 
             C350,190,350,200,345,205 
             C340,210,325,210,320,205 
             C315,200,320,190,320,180" 
          fill="#f2d2a9" stroke="#c7a17d" stroke-width="3" />

    <!-- 小指 -->
    <path d="M340,200 
             C340,175,345,160,355,160 
             C365,160,370,175,370,200 
             C370,210,370,215,365,220 
             C360,225,345,225,340,220 
             C335,215,340,210,340,200" 
          fill="#f2d2a9" stroke="#c7a17d" stroke-width="3" />
</svg>

Mistral AI Le Chat

指が線。ある意味、素敵!
<svg viewBox="0 0 200 300" xmlns="http://www.w3.org/2000/svg">
  <!-- Palm -->
  <ellipse cx="100" cy="200" rx="50" ry="80" fill="peachpuff" stroke="black" stroke-width="2"/>

  <!-- Thumb -->
  <path d="M 50 200 Q 30 150, 70 100" fill="none" stroke="black" stroke-width="2"/>

  <!-- Index Finger -->
  <path d="M 100 120 Q 90 80, 110 40" fill="none" stroke="black" stroke-width="2"/>

  <!-- Middle Finger -->
  <path d="M 130 120 Q 120 80, 140 40" fill="none" stroke="black" stroke-width="2"/>

  <!-- Ring Finger -->
  <path d="M 150 120 Q 140 80, 160 40" fill="none" stroke="black" stroke-width="2"/>

  <!-- Little Finger -->
  <path d="M 170 120 Q 160 80, 180 40" fill="none" stroke="black" stroke-width="2"/>
</svg>


お題2:ジャンボジェット機

ChatGPT 4o

ジャンボジェットには見えないが、窓や翼など努力の後は見られる
<svg
  width="500"
  height="300"
  viewBox="0 0 500 300"
  xmlns="http://www.w3.org/2000/svg"
>
  <!-- 胴体 -->
  <ellipse cx="250" cy="150" rx="150" ry="50" fill="#CCCCCC" stroke="#000" stroke-width="2" />
  
  <!-- コックピット部分 -->
  <path
    d="M100 135 Q 90 110, 120 105 L 160 110 Q 150 120, 100 135 Z"
    fill="#888888"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 窓 (胴体) -->
  <g fill="#333">
    <circle cx="130" cy="130" r="5" />
    <circle cx="150" cy="130" r="5" />
    <circle cx="170" cy="130" r="5" />
    <circle cx="190" cy="130" r="5" />
    <circle cx="210" cy="130" r="5" />
    <circle cx="230" cy="130" r="5" />
    <circle cx="250" cy="130" r="5" />
    <circle cx="270" cy="130" r="5" />
    <circle cx="290" cy="130" r="5" />
    <circle cx="310" cy="130" r="5" />
    <circle cx="330" cy="130" r="5" />
    <circle cx="350" cy="130" r="5" />
  </g>

  <!-- 主翼 (左) -->
  <path
    d="M200 150 L 80 200 Q 70 210, 90 215 L 210 170 Z"
    fill="#BBBBBB"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 主翼 (右) -->
  <path
    d="M300 150 L 420 200 Q 430 210, 410 215 L 290 170 Z"
    fill="#BBBBBB"
    stroke="#000"
    stroke-width="2"
  />

  <!-- エンジン (左翼) -->
  <ellipse cx="100" cy="205" rx="20" ry="10" fill="#666666" stroke="#000" stroke-width="1" />
  <ellipse cx="120" cy="210" rx="20" ry="10" fill="#666666" stroke="#000" stroke-width="1" />

  <!-- エンジン (右翼) -->
  <ellipse cx="380" cy="205" rx="20" ry="10" fill="#666666" stroke="#000" stroke-width="1" />
  <ellipse cx="400" cy="210" rx="20" ry="10" fill="#666666" stroke="#000" stroke-width="1" />

  <!-- 尾翼 (垂直尾翼) -->
  <path
    d="M350 110 L 370 60 Q 375 50, 380 60 L 360 120 Z"
    fill="#AAAAAA"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 尾翼 (水平尾翼 左) -->
  <path
    d="M340 120 L 300 100 Q 290 95, 295 110 L 330 130 Z"
    fill="#AAAAAA"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 尾翼 (水平尾翼 右) -->
  <path
    d="M360 120 L 400 100 Q 410 95, 405 110 L 370 130 Z"
    fill="#AAAAAA"
    stroke="#000"
    stroke-width="2"
  />
</svg>

Claude 3.5 Sonnet

かっこいい。エンジンはミサイルのようですが、尾翼や窓などがちゃんと描けてます
<svg viewBox="0 0 800 400" xmlns="http://www.w3.org/2000/svg">
  <!-- Main Fuselage -->
  <path d="M100 200 
           C150 180 200 170 300 170
           L600 170
           C650 170 700 180 750 200
           L700 250
           L300 250
           C200 250 150 230 100 200Z" 
        fill="#E0E0E0" stroke="#404040" stroke-width="2"/>
  
  <!-- Nose Cone -->
  <path d="M50 200
           Q75 185 100 170
           L100 250
           Q75 235 50 200Z"
        fill="#E0E0E0" stroke="#404040" stroke-width="2"/>
  
  <!-- Wings -->
  <path d="M300 170
           L200 50
           L500 50
           L600 170
           L300 170Z"
        fill="#D0D0D0" stroke="#404040" stroke-width="2"/>
  
  <!-- Tail Wing -->
  <path d="M600 170
           L700 50
           L750 50
           L750 170
           L600 170Z"
        fill="#D0D0D0" stroke="#404040" stroke-width="2"/>
  
  <!-- Horizontal Stabilizers -->
  <path d="M650 180
           L600 120
           L700 120
           L750 180Z"
        fill="#D0D0D0" stroke="#404040" stroke-width="2"/>
  
  <!-- Engines (4) -->
  <g id="engine">
    <rect x="300" y="100" width="80" height="30" fill="#606060" stroke="#404040"/>
    <ellipse cx="300" cy="115" rx="10" ry="15" fill="#404040"/>
    <ellipse cx="380" cy="115" rx="5" ry="10" fill="#404040"/>
  </g>
  <use href="#engine" x="100" y="0"/>
  <use href="#engine" x="-100" y="0"/>
  <use href="#engine" x="-200" y="0"/>
  
  <!-- Windows -->
  <g id="window">
    <rect x="150" y="185" width="15" height="20" fill="#A0D8EF" stroke="#404040"/>
  </g>
  <use href="#window" x="30" y="0"/>
  <use href="#window" x="60" y="0"/>
  <use href="#window" x="90" y="0"/>
  <use href="#window" x="120" y="0"/>
  <use href="#window" x="150" y="0"/>
  <use href="#window" x="180" y="0"/>
  <use href="#window" x="210" y="0"/>
  <use href="#window" x="240" y="0"/>
  <use href="#window" x="270" y="0"/>
  
  <!-- Landing Gear -->
  <g fill="#303030">
    <rect x="200" y="250" width="20" height="50"/>
    <rect x="500" y="250" width="20" height="50"/>
    <circle cx="210" cy="300" r="10"/>
    <circle cx="510" cy="300" r="10"/>
  </g>
</svg>

Gemini 2.0 Flash

なんとなくジャンボジェットに見えなくはない感じ。ボーイング747を想定しているそうです
<svg width="600" height="300" viewBox="0 0 600 300" xmlns="http://www.w3.org/2000/svg">
    <!-- 機体本体 -->
    <path d="M 50 150 L 120 130 L 500 130 L 530 150 L 500 170 L 120 170 Z" fill="#ffffff" stroke="#000000" stroke-width="1"/>
    
    <!-- 機首 -->
    <path d="M 50 150 L 70 145 L 90 150 L 70 155 Z" fill="#ffffff" stroke="#000000" stroke-width="1"/>
    
    <!-- コクピット -->
    <rect x="65" y="140" width="20" height="10" fill="#333333" stroke="#000000" stroke-width="1"/>
    
    <!-- 窓(複数) -->
    <g transform="translate(100, 140)">
      <rect x="0" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="15" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="30" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="45" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="60" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="75" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="90" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="105" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="120" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="135" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="150" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="165" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="180" y="0" width="10" height="10" fill="#cccccc" />
       <rect x="195" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="210" y="0" width="10" height="10" fill="#cccccc" />
        <rect x="225" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="240" y="0" width="10" height="10" fill="#cccccc" />
    </g>

      <!-- 上部デッキ -->
      <path d="M 100 130 L 100 100 C 110 90, 450 90, 460 100 L 460 130 Z" fill="#ffffff" stroke="#000000" stroke-width="1"/>
   <g transform="translate(120, 105)">
      <rect x="0" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="15" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="30" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="45" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="60" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="75" y="0" width="10" height="10" fill="#cccccc" />
     <rect x="90" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="105" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="120" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="135" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="150" y="0" width="10" height="10" fill="#cccccc" />
      <rect x="165" y="0" width="10" height="10" fill="#cccccc" />
        <rect x="180" y="0" width="10" height="10" fill="#cccccc" />
       <rect x="195" y="0" width="10" height="10" fill="#cccccc" />
    </g>

   <!-- 垂直尾翼 -->
   <path d="M 510 130 L 510 60 L 540 60 L 540 130 Z" fill="#ffffff" stroke="#000000" stroke-width="1"/>
    <!-- 水平尾翼 -->
    <path d="M 500 170 L 500 190 L 550 190 L 550 170 Z" fill="#ffffff" stroke="#000000" stroke-width="1"/>
   
    <!-- エンジン1 -->
    <circle cx="150" cy="185" r="15" fill="#cccccc" stroke="#000000" stroke-width="1"/>
    <rect x="140" y="190" width="20" height="10" fill="#333333" />
      <!-- エンジン2 -->
    <circle cx="250" cy="185" r="15" fill="#cccccc" stroke="#000000" stroke-width="1"/>
      <rect x="240" y="190" width="20" height="10" fill="#333333" />
       <!-- エンジン3 -->
    <circle cx="350" cy="185" r="15" fill="#cccccc" stroke="#000000" stroke-width="1"/>
      <rect x="340" y="190" width="20" height="10" fill="#333333" />
       <!-- エンジン4 -->
    <circle cx="450" cy="185" r="15" fill="#cccccc" stroke="#000000" stroke-width="1"/>
     <rect x="440" y="190" width="20" height="10" fill="#333333" />

     <!-- 車輪 -->
     <circle cx="120" cy="190" r="5" fill="#333333" stroke="#000000" stroke-width="1" />
     <circle cx="500" cy="190" r="5"fill="#333333" stroke="#000000" stroke-width="1" />

</svg>

ChatGPT o1

一番精巧にできているし、やりたいことがわかる。まるで羽ばたいているみたいですが…
<svg width="800" height="600" viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg">
    <!-- 背景 -->
    <rect width="100%" height="100%" fill="#e0f7fa" />

    <!-- 機体本体 -->
    <!-- 胴体: ジャンボジェットらしく中央が太い形状で、少し先端が丸い形状 -->
    <path d="M100,300
             C130,290,170,280,220,280 
             C400,280,600,290,680,300 
             C600,310,400,320,220,320 
             C170,320,130,310,100,300Z"
          fill="#f5f5f5" stroke="#999" stroke-width="2" />

    <!-- コックピット窓 -->
    <!-- 前方上部に小さな黒い窓 -->
    <path d="M140,295 
             C145,292,152,292,158,295 
             C152,298,145,298,140,295Z" 
          fill="#333" />

    <!-- 客室窓:細かく多数配置 -->
    <!-- 胴体中央部あたりに小さな黒い長方形を繰り返し配置 -->
    <rect x="180" y="292" width="3" height="6" fill="#333" />
    <rect x="190" y="292" width="3" height="6" fill="#333" />
    <rect x="200" y="292" width="3" height="6" fill="#333" />
    <rect x="210" y="292" width="3" height="6" fill="#333" />
    <rect x="220" y="292" width="3" height="6" fill="#333" />
    <rect x="230" y="292" width="3" height="6" fill="#333" />
    <rect x="240" y="292" width="3" height="6" fill="#333" />
    <rect x="250" y="292" width="3" height="6" fill="#333" />
    <rect x="260" y="292" width="3" height="6" fill="#333" />
    <rect x="270" y="292" width="3" height="6" fill="#333" />
    <rect x="280" y="292" width="3" height="6" fill="#333" />
    <rect x="290" y="292" width="3" height="6" fill="#333" />
    <rect x="300" y="292" width="3" height="6" fill="#333" />
    <rect x="310" y="292" width="3" height="6" fill="#333" />
    <rect x="320" y="292" width="3" height="6" fill="#333" />
    <rect x="330" y="292" width="3" height="6" fill="#333" />
    <rect x="340" y="292" width="3" height="6" fill="#333" />
    <rect x="350" y="292" width="3" height="6" fill="#333" />
    <rect x="360" y="292" width="3" height="6" fill="#333" />
    <rect x="370" y="292" width="3" height="6" fill="#333" />
    <rect x="380" y="292" width="3" height="6" fill="#333" />
    <rect x="390" y="292" width="3" height="6" fill="#333" />
    <rect x="400" y="292" width="3" height="6" fill="#333" />
    <rect x="410" y="292" width="3" height="6" fill="#333" />
    <rect x="420" y="292" width="3" height="6" fill="#333" />
    <rect x="430" y="292" width="3" height="6" fill="#333" />
    <rect x="440" y="292" width="3" height="6" fill="#333" />
    <rect x="450" y="292" width="3" height="6" fill="#333" />
    <rect x="460" y="292" width="3" height="6" fill="#333" />
    <rect x="470" y="292" width="3" height="6" fill="#333" />
    <rect x="480" y="292" width="3" height="6" fill="#333" />
    <rect x="490" y="292" width="3" height="6" fill="#333" />
    <rect x="500" y="292" width="3" height="6" fill="#333" />
    <rect x="510" y="292" width="3" height="6" fill="#333" />
    <rect x="520" y="292" width="3" height="6" fill="#333" />
    <rect x="530" y="292" width="3" height="6" fill="#333" />
    <rect x="540" y="292" width="3" height="6" fill="#333" />
    <rect x="550" y="292" width="3" height="6" fill="#333" />
    <rect x="560" y="292" width="3" height="6" fill="#333" />

    <!-- 胴体下部ライン -->
    <line x1="100" y1="305" x2="680" y2="305" stroke="#999" stroke-width="2" />

    <!-- 翼(主翼) -->
    <!-- 左主翼: 手前側に見える大きな翼 -->
    <path d="M300,300 
             L200,400 
             C210,410,230,420,250,415 
             C270,410,320,350,300,300Z"
          fill="#d2d2d2" stroke="#999" stroke-width="2" />

    <!-- 右主翼: 胴体反対側の翼は薄い色(もしくは少し小さく) -->
    <path d="M400,300 
             L500,400 
             C490,410,470,420,450,415 
             C430,410,380,350,400,300Z"
          fill="#e0e0e0" stroke="#999" stroke-width="2" />

    <!-- 尾翼(垂直尾翼) -->
    <!-- 垂直尾翼を機体後部に追加 -->
    <path d="M650,300 
             C655,280,660,260,660,240 
             C660,220,655,210,650,210 
             L640,210 
             L645,300Z"
          fill="#d2d2d2" stroke="#999" stroke-width="2" />

    <!-- 水平尾翼 -->
    <path d="M630,280 
             L620,260 
             C615,250,600,250,600,260 
             L600,280Z"
          fill="#d2d2d2" stroke="#999" stroke-width="2" />
    <path d="M630,320 
             L620,340 
             C615,350,600,350,600,340 
             L600,320Z"
          fill="#d2d2d2" stroke="#999" stroke-width="2" />

    <!-- エンジン -->
    <!-- 左主翼下のエンジン -->
    <ellipse cx="260" cy="350" rx="15" ry="25" fill="#bcbcbc" stroke="#999" stroke-width="2" />
    <ellipse cx="280" cy="350" rx="15" ry="25" fill="#bcbcbc" stroke="#999" stroke-width="2" />
    <!-- 右主翼下のエンジン -->
    <ellipse cx="520" cy="350" rx="15" ry="25" fill="#bcbcbc" stroke="#999" stroke-width="2" />
    <ellipse cx="500" cy="350" rx="15" ry="25" fill="#bcbcbc" stroke="#999" stroke-width="2" />

    <!-- 前輪(ギア) -->
    <circle cx="140" cy="325" r="5" fill="#333" />

    <!-- 後輪(ギア) -->
    <circle cx="220" cy="325" r="5" fill="#333" />
    <circle cx="240" cy="325" r="5" fill="#333" />
    <circle cx="560" cy="325" r="5" fill="#333" />
    <circle cx="580" cy="325" r="5" fill="#333" />
</svg>

MistralAI Le Chat

お題を知らない人が見たときにジャンボだとわかる人がどれだけいるか…
<svg viewBox="0 0 400 200" xmlns="http://www.w3.org/2000/svg">
  <!-- Fuselage -->
  <rect x="50" y="70" width="300" height="60" rx="20" ry="20" fill="white" stroke="black" stroke-width="2"/>

  <!-- Wings -->
  <path d="M 50 100 Q 0 100, 0 130 Q 50 130, 150 130 Q 200 130, 200 100 Q 150 100, 50 100" fill="white" stroke="black" stroke-width="2"/>
  <path d="M 350 100 Q 400 100, 400 130 Q 350 130, 250 130 Q 200 130, 200 100 Q 250 100, 350 100" fill="white" stroke="black" stroke-width="2"/>

  <!-- Tail -->
  <polygon points="330,70 350,30 370,70" fill="white" stroke="black" stroke-width="2"/>
  <rect x="345" y="70" width="10" height="60" fill="white" stroke="black" stroke-width="2"/>

  <!-- Engines -->
  <circle cx="150" cy="115" r="20" fill="white" stroke="black" stroke-width="2"/>
  <circle cx="250" cy="115" r="20" fill="white" stroke="black" stroke-width="2"/>

  <!-- Windows -->
  <circle cx="70" cy="90" r="5" fill="black"/>
  <circle cx="90" cy="90" r="5" fill="black"/>
  <circle cx="110" cy="90" r="5" fill="black"/>
  <circle cx="130" cy="90" r="5" fill="black"/>
  <circle cx="270" cy="90" r="5" fill="black"/>
  <circle cx="290" cy="90" r="5" fill="black"/>
  <circle cx="310" cy="90" r="5" fill="black"/>
  <circle cx="330" cy="90" r="5" fill="black"/>

  <!-- Cockpit Windows -->
  <path d="M 50 80 Q 40 70, 50 60" fill="none" stroke="black" stroke-width="2"/>
  <path d="M 50 80 Q 60 70, 50 60" fill="none" stroke="black" stroke-width="2"/>
</svg>


お題3:Nintendo Switchニンテンドースイッチ

ChatGPT 4o

え、すごい。ほぼ完璧では?これは誰が見てもswitchでしょう
<svg
  width="400"
  height="200"
  viewBox="0 0 400 200"
  xmlns="http://www.w3.org/2000/svg"
>
  <!-- 本体中央 (ディスプレイ部分) -->
  <rect
    x="100"
    y="30"
    width="200"
    height="140"
    rx="10"
    ry="10"
    fill="#222222"
    stroke="#000"
    stroke-width="2"
  />
  <!-- ディスプレイ画面 -->
  <rect
    x="110"
    y="40"
    width="180"
    height="120"
    rx="5"
    ry="5"
    fill="#000000"
    stroke="#444"
    stroke-width="1"
  />

  <!-- 左Joy-Con本体 -->
  <rect
    x="40"
    y="30"
    width="60"
    height="140"
    rx="15"
    ry="15"
    fill="#FF3B3B"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 左Joy-Con: スティック -->
  <circle cx="70" cy="70" r="12" fill="#333" stroke="#000" stroke-width="2" />

  <!-- 左Joy-Con: ボタン (十字ボタン風) -->
  <g fill="#333">
    <rect x="67" y="95" width="6" height="18" />
    <rect x="61" y="101" width="18" height="6" />
  </g>

  <!-- 右Joy-Con本体 -->
  <rect
    x="300"
    y="30"
    width="60"
    height="140"
    rx="15"
    ry="15"
    fill="#00BFFF"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 右Joy-Con: スティック -->
  <circle cx="330" cy="70" r="12" fill="#333" stroke="#000" stroke-width="2" />

  <!-- 右Joy-Con: ABXYボタン -->
  <g fill="#333">
    <circle cx="320" cy="100" r="5" />
    <circle cx="340" cy="100" r="5" />
    <circle cx="330" cy="90" r="5" />
    <circle cx="330" cy="110" r="5" />
  </g>
</svg>

Claude 3.5 Sonnet

これまたすごい。LRのボタンを再現しようとしてしっぱいしてますが、USBポートまで描いてますね。正面と上面からの両面を描いているのかな
<svg viewBox="0 0 800 500" xmlns="http://www.w3.org/2000/svg">
  <!-- Main Screen Unit -->
  <rect x="200" y="100" width="400" height="250" rx="20" fill="#303030" stroke="#404040" stroke-width="2"/>
  <rect x="220" y="120" width="360" height="210" fill="#000000" stroke="#404040" stroke-width="2"/>
  
  <!-- Left Joy-Con -->
  <g id="left-joycon">
    <rect x="150" y="100" width="50" height="250" rx="10" fill="#3478c4" stroke="#404040" stroke-width="2"/>
    <!-- Analog Stick -->
    <circle cx="175" cy="180" r="15" fill="#202020"/>
    <!-- Buttons -->
    <rect x="160" y="220" width="30" height="80" rx="5" fill="#202020"/>
  </g>
  
  <!-- Right Joy-Con -->
  <g id="right-joycon">
    <rect x="600" y="100" width="50" height="250" rx="10" fill="#ff4554" stroke="#404040" stroke-width="2"/>
    <!-- Analog Stick -->
    <circle cx="625" cy="240" r="15" fill="#202020"/>
    <!-- Buttons -->
    <circle cx="625" cy="180" r="10" fill="#202020"/>
    <circle cx="640" cy="195" r="10" fill="#202020"/>
    <circle cx="610" cy="195" r="10" fill="#202020"/>
    <circle cx="625" cy="210" r="10" fill="#202020"/>
  </g>
  
  <!-- Dock -->
  <path d="M150 400 
           L650 400
           L680 450
           L120 450
           Z" 
        fill="#303030" stroke="#404040" stroke-width="2"/>
  
  <!-- USB Ports on Dock -->
  <rect x="350" y="420" width="20" height="10" fill="#202020"/>
  <rect x="380" y="420" width="20" height="10" fill="#202020"/>
  <rect x="410" y="420" width="20" height="10" fill="#202020"/>
  
  <!-- Switch Logo -->
  <circle cx="400" cy="380" r="10" fill="none" stroke="#404040" stroke-width="2"/>
  
  <!-- Home Button -->
  <circle cx="400" cy="330" r="8" fill="#202020"/>
  
  <!-- Volume Buttons -->
  <rect x="200" y="80" width="20" height="5" fill="#202020"/>
  <rect x="230" y="80" width="20" height="5" fill="#202020"/>
</svg>

Gemini 2.0 Flash

<svg width="400" height="250" viewBox="0 0 400 250" xmlns="http://www.w3.org/2000/svg">
  <!-- 本体 -->
  <rect x="50" y="50" width="300" height="150" rx="10" ry="10" fill="#212529" stroke="#000" stroke-width="2"/>
  
  <!-- スクリーン -->
  <rect x="70" y="70" width="260" height="110" fill="#333333"/>
  
   <!-- 上部 -->
    <rect x="60" y="40" width="280" height="10" rx="5" ry="5" fill="#495057"/>
  
    <!-- 下部 -->
    <rect x="60" y="200" width="280" height="10" rx="5" ry="5" fill="#495057"/>

  <!-- ジョイコン(左) -->
  <g transform="translate(40, 50)">
      <!-- 外枠 -->
      <rect x="0" y="10" width="30" height="130" rx="5" ry="5" fill="#eb4034" stroke="#000" stroke-width="2"/>
      <!-- スティック -->
      <circle cx="15" cy="30" r="5" fill="#555555" stroke="#000" stroke-width="1"/>
      
     <!-- ボタンA -->
     <circle cx="15" cy="70" r="5" fill="#ddd" />
     <!-- ボタンB -->
     <circle cx="15" cy="90" r="5" fill="#ddd" />
    <!-- ボタンX -->
     <circle cx="15" cy="110" r="5" fill="#ddd" />
      <!-- ボタンY -->
     <circle cx="15" cy="130" r="5" fill="#ddd" />
       
      <!-- 十字キー-->
        <path d="M 15 45 L 10 55 L 20 55 Z" fill="#555555" stroke="#000" stroke-width="1"/>
        <path d="M 5 50 L 15 40 L 15 60 Z" fill="#555555" stroke="#000" stroke-width="1"/>

  </g>


  <!-- ジョイコン(右) -->
    <g transform="translate(330, 50)">
          <!-- 外枠 -->
       <rect x="0" y="10" width="30" height="130" rx="5" ry="5" fill="#4081eb" stroke="#000" stroke-width="2"/>
      <!-- スティック -->
       <circle cx="15" cy="130" r="5" fill="#555555" stroke="#000" stroke-width="1"/>
        <!-- ボタンA -->
     <circle cx="15" cy="40" r="5" fill="#ddd" />
     <!-- ボタンB -->
     <circle cx="15" cy="60" r="5" fill="#ddd" />
     <!-- ボタンX -->
     <circle cx="15" cy="80" r="5" fill="#ddd" />
      <!-- ボタンY -->
     <circle cx="15" cy="100" r="5" fill="#ddd" />
      <!-- プラスボタン-->
    <path d="M 12 30 L 18 30 L 18 24 L 12 24 Z" fill="#555555" stroke="#000" stroke-width="1"/>
     <path d="M 15 27 L 9 27 L 9 33  L 15 33 Z" fill="#555555" stroke="#000" stroke-width="1"/>
  </g>
</svg>

ChatGPT o1

4oの方が明らかによかったですね。いまいち。
<svg width="800" height="400" viewBox="0 0 800 400" xmlns="http://www.w3.org/2000/svg">
    <!-- 背景(任意) -->
    <rect width="100%" height="100%" fill="#eee" />
    
    <!-- 本体(全体) -->
    <!-- Switchは中央に黒い画面、左右にコントローラ(左: 青、右: 赤系) -->
    <!-- 外枠 -->
    <rect x="100" y="100" width="600" height="200" rx="20" ry="20" fill="#222" />

    <!-- 左ジョイコン部分 -->
    <rect x="100" y="100" width="130" height="200" rx="20" ry="20" fill="#0bb" />
    <!-- アナログスティック(左) -->
    <circle cx="165" cy="200" r="20" fill="#222" stroke="#111" stroke-width="3" />
    <!-- 十字ボタン -->
    <rect x="135" y="150" width="10" height="30" fill="#222" />
    <rect x="125" y="160" width="30" height="10" fill="#222" />

    <!-- 上部ショルダーボタンを示す細い長方形(左) -->
    <rect x="100" y="90" width="130" height="10" fill="#0aa" rx="5" ry="5" />
    <!-- 下部ショルダーボタンを示す細い長方形(左) -->
    <rect x="100" y="310" width="130" height="10" fill="#0aa" rx="5" ry="5" />

    <!-- 右ジョイコン部分 -->
    <rect x="570" y="100" width="130" height="200" rx="20" ry="20" fill="#e55" />
    <!-- アナログスティック(右) -->
    <circle cx="635" cy="200" r="20" fill="#222" stroke="#111" stroke-width="3" />
    <!-- ABXYボタン -->
    <!-- Aボタン -->
    <circle cx="680" cy="170" r="7" fill="#222" />
    <!-- Bボタン -->
    <circle cx="695" cy="185" r="7" fill="#222" />
    <!-- Xボタン -->
    <circle cx="665" cy="155" r="7" fill="#222" />
    <!-- Yボタン -->
    <circle cx="650" cy="170" r="7" fill="#222" />

    <!-- 上部ショルダーボタン(右) -->
    <rect x="570" y="90" width="130" height="10" fill="#d44" rx="5" ry="5" />
    <!-- 下部ショルダーボタン(右) -->
    <rect x="570" y="310" width="130" height="10" fill="#d44" rx="5" ry="5" />

    <!-- 中央スクリーン部分 -->
    <rect x="230" y="110" width="340" height="180" fill="#000" rx="10" ry="10" />
</svg>

MistralAI Le Chat

なんだか、とても惜しい感じ。やりたいことは伝わる。
<svg viewBox="0 0 400 200" xmlns="http://www.w3.org/2000/svg">
  <!-- Main Body -->
  <rect x="50" y="50" width="300" height="100" rx="20" ry="20" fill="black" stroke="black" stroke-width="2"/>

  <!-- Screen -->
  <rect x="60" y="60" width="280" height="80" fill="gray" stroke="black" stroke-width="2"/>

  <!-- Joy-Con Controllers -->
  <rect x="20" y="50" width="30" height="100" fill="red" stroke="black" stroke-width="2"/>
  <rect x="350" y="50" width="30" height="100" fill="blue" stroke="black" stroke-width="2"/>

  <!-- Buttons on Left Joy-Con -->
  <circle cx="35" cy="70" r="5" fill="black"/>
  <circle cx="35" cy="90" r="5" fill="black"/>
  <circle cx="35" cy="110" r="5" fill="black"/>
  <circle cx="35" cy="130" r="5" fill="black"/>

  <!-- Buttons on Right Joy-Con -->
  <circle cx="365" cy="70" r="5" fill="black"/>
  <circle cx="365" cy="90" r="5" fill="black"/>
  <circle cx="365" cy="110" r="5" fill="black"/>
  <circle cx="365" cy="130" r="5" fill="black"/>

  <!-- Analog Sticks -->
  <circle cx="35" cy="150" r="10" fill="black"/>
  <circle cx="365" cy="150" r="10" fill="black"/>

  <!-- D-Pad -->
  <path d="M 25 70 L 45 70 L 35 60 Z" fill="black"/>
  <path d="M 25 90 L 45 90 L 35 100 Z" fill="black"/>
  <path d="M 25 110 L 45 110 L 35 120 Z" fill="black"/>
  <path d="M 25 130 L 45 130 L 35 140 Z" fill="black"/>

  <!-- A, B, X, Y Buttons -->
  <circle cx="365" cy="70" r="5" fill="red"/>
  <circle cx="365" cy="90" r="5" fill="green"/>
  <circle cx="365" cy="110" r="5" fill="blue"/>
  <circle cx="365" cy="130" r="5" fill="yellow"/>
</svg>

お題4:サンタクロース

今日は、クリスマス♪町はお祭り騒ぎ♪ということで、最後はサンタです。

ChatGPT 4o

かわいいし、サンタだとわかる!素敵。プレゼントの袋はないけど。
<svg
  width="400"
  height="400"
  viewBox="0 0 400 400"
  xmlns="http://www.w3.org/2000/svg"
>
  <!-- 顔 -->
  <circle cx="200" cy="170" r="60" fill="#FFDAB9" stroke="#000" stroke-width="2" />

  <!-- ひげ -->
  <path
    d="M140 190 Q 200 230, 260 190 Q 240 250, 200 250 Q 160 250, 140 190 Z"
    fill="#FFFFFF"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 目 -->
  <circle cx="180" cy="160" r="8" fill="#000" />
  <circle cx="220" cy="160" r="8" fill="#000" />

  <!-- 鼻 -->
  <circle cx="200" cy="180" r="6" fill="#F08080" />

  <!-- 帽子(赤い部分) -->
  <path
    d="M140 110 Q 200 50, 260 110 Q 250 80, 200 60 Q 150 80, 140 110 Z"
    fill="#FF0000"
    stroke="#000"
    stroke-width="2"
  />

  <!-- 帽子のふち(白い部分) -->
  <ellipse cx="200" cy="110" rx="70" ry="15" fill="#FFFFFF" stroke="#000" stroke-width="1" />

  <!-- 帽子のポンポン -->
  <circle cx="265" cy="110" r="12" fill="#FFFFFF" stroke="#000" stroke-width="1" />

  <!-- 服(赤い胴体) -->
  <rect
    x="160"
    y="230"
    width="80"
    height="120"
    fill="#FF0000"
    stroke="#000"
    stroke-width="2"
    rx="10"
    ry="10"
  />

  <!-- 服の白いライン -->
  <rect x="195" y="230" width="10" height="120" fill="#FFFFFF" />

  <!-- 腕 (左) -->
  <path
    d="M160 250 L 120 270 Q 110 280, 120 290 L 160 270 Z"
    fill="#FF0000"
    stroke="#000"
    stroke-width="2"
  />
  <circle cx="120" cy="290" r="10" fill="#FFFFFF" stroke="#000" stroke-width="1" />

  <!-- 腕 (右) -->
  <path
    d="M240 250 L 280 270 Q 290 280, 280 290 L 240 270 Z"
    fill="#FF0000"
    stroke="#000"
    stroke-width="2"
  />
  <circle cx="280" cy="290" r="10" fill="#FFFFFF" stroke="#000" stroke-width="1" />

  <!-- 足 (左) -->
  <rect x="170" y="350" width="20" height="30" fill="#000000" />
  <!-- 足 (右) -->
  <rect x="210" y="350" width="20" height="30" fill="#000000" />
</svg>

Claude 3.5 Sonnet

これも素敵。ひげが多すぎて目まで来てるけどかわいいサンタさん
<svg viewBox="0 0 800 600" xmlns="http://www.w3.org/2000/svg">
  <!-- Face and Head -->
  <circle cx="400" cy="200" r="80" fill="#FFE4C4"/>
  
  <!-- Hat -->
  <path d="M320 180 
           Q400 50 480 180
           L460 190
           Q400 100 340 190Z" 
        fill="#FF0000" stroke="#800000" stroke-width="2"/>
  <circle cx="470" cy="80" r="20" fill="#FFFFFF"/>
  <rect x="320" y="175" width="160" height="30" fill="#FFFFFF"/>
  
  <!-- Eyes -->
  <circle cx="370" cy="180" r="8" fill="#000000"/>
  <circle cx="430" cy="180" r="8" fill="#000000"/>
  <path d="M365 175 Q370 170 375 175" fill="none" stroke="#000000" stroke-width="2"/>
  <path d="M425 175 Q430 170 435 175" fill="none" stroke="#000000" stroke-width="2"/>
  
  <!-- Rosy Cheeks -->
  <circle cx="350" cy="200" r="15" fill="#FFB6C1" opacity="0.5"/>
  <circle cx="450" cy="200" r="15" fill="#FFB6C1" opacity="0.5"/>
  
  <!-- Beard and Mustache -->
  <path d="M320 200 
           Q400 350 480 200
           Q400 220 320 200Z" 
        fill="#FFFFFF" stroke="#F0F0F0" stroke-width="2"/>
  <path d="M360 190 Q400 220 440 190" fill="none" stroke="#FFFFFF" stroke-width="10"/>
  
  <!-- Body/Suit -->
  <path d="M320 250
           Q400 260 480 250
           L500 500
           Q400 520 300 500Z" 
        fill="#FF0000" stroke="#800000" stroke-width="2"/>
  
  <!-- Belt -->
  <rect x="320" y="350" width="160" height="30" fill="#000000"/>
  <rect x="390" y="350" width="40" height="30" fill="#FFD700"/>
  
  <!-- Arms -->
  <path d="M320 280 
           Q250 350 200 300" 
        fill="none" stroke="#FF0000" stroke-width="40"/>
  <path d="M480 280 
           Q550 350 600 300" 
        fill="none" stroke="#FF0000" stroke-width="40"/>
  
  <!-- Hands -->
  <circle cx="200" cy="300" r="20" fill="#FFE4C4"/>
  <circle cx="600" cy="300" r="20" fill="#FFE4C4"/>
  
  <!-- Trim -->
  <path d="M320 250 Q400 260 480 250" fill="none" stroke="#FFFFFF" stroke-width="15"/>
  <path d="M300 500 Q400 520 500 500" fill="none" stroke="#FFFFFF" stroke-width="15"/>
</svg>

Gemini 2.0 Flash

少し体が四角すぎるし腕もないけどサンタだとわかりますね
<svg width="300" height="400" viewBox="0 0 300 400" xmlns="http://www.w3.org/2000/svg">
  <!-- 顔 -->
    <circle cx="150" cy="100" r="40" fill="#f0d9b5" stroke="#000" stroke-width="2"/>
    <!-- ひげ -->
    <path d="M 100 120 C 110 140, 190 140, 200 120 L 150 170 Z " fill="#fff" stroke="#000" stroke-width="2"/>
    <!-- 目 -->
    <circle cx="130" cy="90" r="5" fill="#000" />
      <circle cx="170" cy="90" r="5" fill="#000" />
       <!-- 鼻 -->
    <circle cx="150" cy="125" r="5" fill="#c44040" />

    <!-- 帽子 -->
  <path d="M 50 80 C 80 30, 220 30, 250 80 L 150 50 Z" fill="#c44040" stroke="#000" stroke-width="2"/>
   <circle cx="80" cy="20" r="10" fill="#fff" stroke="#000" stroke-width="2"/>

  <!-- 体 -->
  <rect x="80" y="170" width="140" height="180" fill="#c44040" stroke="#000" stroke-width="2"/>

  <!-- ベルト -->
   <rect x="90" y="280" width="120" height="10" fill="#000" />
      <rect x="140" y="275" width="20" height="20" fill="#ffc331" stroke="#000" stroke-width="2"/>

    <!-- 手 -->
 <circle cx="50" cy="200" r="15" fill="#f0d9b5" stroke="#000" stroke-width="2"/>
<circle cx="250" cy="200" r="15" fill="#f0d9b5" stroke="#000" stroke-width="2"/>

 <!-- 足 -->
<rect x="90" y="350" width="50" height="40" fill="#000" />
 <rect x="160" y="350" width="50" height="40" fill="#000" />

</svg>

ChatGPT o1

サンタというより殺せんせーのようなピエロよりだが、上手!
<svg width="400" height="500" viewBox="0 0 400 500" xmlns="http://www.w3.org/2000/svg">
    <!-- 背景(任意) -->
    <rect width="100%" height="100%" fill="#f0f0f0" />

    <!-- サンタクロース本体 -->
    <!-- 帽子 -->
    <path d="M200,50 
             C180,40,130,20,120,60 
             C110,100,150,90,170,100 
             C190,110,210,110,230,100 
             C250,90,290,100,280,60
             C270,20,220,40,200,50Z"
          fill="#d00" stroke="#900" stroke-width="2" />
    <!-- 帽子の先に白いポンポン -->
    <circle cx="290" cy="60" r="10" fill="#fff" />

    <!-- 顔 -->
    <circle cx="200" cy="150" r="50" fill="#f9d5b2" stroke="#c79f7b" stroke-width="2" />

    <!-- 目 -->
    <circle cx="185" cy="140" r="5" fill="#333" />
    <circle cx="215" cy="140" r="5" fill="#333" />

    <!-- 鼻 -->
    <circle cx="200" cy="155" r="7" fill="#e55" />

    <!-- ヒゲ -->
    <path d="M160,170 
             C170,185,190,190,200,190 
             C210,190,230,185,240,170 
             C230,180,210,200,200,200 
             C190,200,170,180,160,170Z"
          fill="#fff" stroke="#ddd" stroke-width="2" />

    <!-- 体(上半身) -->
    <path d="M150,200 
             C140,250,140,300,150,330 
             C160,360,240,360,250,330 
             C260,300,260,250,250,200Z"
          fill="#d00" stroke="#900" stroke-width="3" />

    <!-- 白いファー(上着中央部) -->
    <rect x="195" y="200" width="10" height="130" fill="#fff" />

    <!-- ボタン -->
    <circle cx="200" cy="230" r="5" fill="#333" />
    <circle cx="200" cy="260" r="5" fill="#333" />
    <circle cx="200" cy="290" r="5" fill="#333" />

    <!-- 腕(左) -->
    <path d="M150,210 
             C120,230,110,260,120,290 
             C130,320,140,330,145,320 
             C150,310,155,290,150,240Z"
          fill="#d00" stroke="#900" stroke-width="3" />
    <!-- 腕(右) -->
    <path d="M250,210 
             C280,230,290,260,280,290 
             C270,320,260,330,255,320 
             C250,310,245,290,250,240Z"
          fill="#d00" stroke="#900" stroke-width="3" />

    <!-- 手(左) -->
    <circle cx="140" cy="275" r="12" fill="#f9d5b2" stroke="#c79f7b" stroke-width="2" />
    <!-- 手(右) -->
    <circle cx="260" cy="275" r="12" fill="#f9d5b2" stroke="#c79f7b" stroke-width="2" />

    <!-- ベルト -->
    <rect x="160" y="330" width="80" height="10" fill="#333" />
    <rect x="185" y="330" width="30" height="10" fill="#000" stroke="#fff" stroke-width="2" />

    <!-- 下半身 -->
    <path d="M150,340 
             C150,370,170,420,200,420 
             C230,420,250,370,250,340Z"
          fill="#d00" stroke="#900" stroke-width="3" />

    <!-- 足 -->
    <path d="M180,420 
             C175,450,175,470,180,480 
             C185,490,195,490,200,480 
             C205,490,215,490,220,480 
             C225,470,225,450,220,420Z"
          fill="#000" stroke="#333" stroke-width="3" />
</svg>

MistralAI Le Chat

アンパンマンのように顔が飛んで行ったサンタ。これはこれで味がありますね
<svg viewBox="0 0 200 300" xmlns="http://www.w3.org/2000/svg">
  <!-- Head -->
  <circle cx="100" cy="50" r="40" fill="peachpuff" stroke="black" stroke-width="2"/>

  <!-- Beard -->
  <path d="M 60 90 Q 80 120, 100 140 Q 120 120, 140 90 Q 120 100, 100 110 Q 80 100, 60 90" fill="white" stroke="black" stroke-width="2"/>

  <!-- Hat -->
  <path d="M 60 20 Q 80 0, 100 20 Q 120 0, 140 20 Q 120 30, 100 40 Q 80 30, 60 20" fill="red" stroke="black" stroke-width="2"/>
  <circle cx="100" cy="20" r="20" fill="white" stroke="black" stroke-width="2"/>

  <!-- Body -->
  <rect x="60" y="140" width="80" height="100" rx="20" ry="20" fill="red" stroke="black" stroke-width="2"/>

  <!-- Belt -->
  <rect x="60" y="200" width="80" height="20" fill="black" stroke="black" stroke-width="2"/>
  <circle cx="100" cy="210" r="10" fill="yellow" stroke="black" stroke-width="2"/>

  <!-- Arms -->
  <rect x="40" y="160" width="20" height="80" fill="red" stroke="black" stroke-width="2"/>
  <rect x="140" y="160" width="20" height="80" fill="red" stroke="black" stroke-width="2"/>

  <!-- Legs -->
  <rect x="80" y="240" width="20" height="60" fill="red" stroke="black" stroke-width="2"/>
  <rect x="100" y="240" width="20" height="60" fill="red" stroke="black" stroke-width="2"/>

  <!-- Boots -->
  <rect x="75" y="300" width="30" height="20" fill="black" stroke="black" stroke-width="2"/>
  <rect x="95" y="300" width="30" height="20" fill="black" stroke="black" stroke-width="2"/>

  <!-- Eyes -->
  <circle cx="85" cy="40" r="5" fill="black"/>
  <circle cx="115" cy="40" r="5" fill="black"/>

  <!-- Nose -->
  <circle cx="100" cy="50" r="3" fill="orange"/>

  <!-- Mouth -->
  <path d="M 90 60 Q 100 65, 110 60" fill="none" stroke="black" stroke-width="2"/>
</svg>

判定結果!

さて、判定結果はどうしましょうか。各AIに画像を読み込ませ、点数をつけさせてもいいですが、面倒なのでやめておきます。

遊花の個人的見解は、ChatGPT 4oとClaudeが全体的になかなかよかったと思います。一方で、o1はいいときと悪い時の差がありバランスが悪いです。また、GeminiとMistralAIは今一つものたりさを感じました。とはいえ、その差はどのAIも小さく大差ありませんし、どのAIもまだ完ぺきではありません。

🥇1位 ChatGPT 4o
🥈2位 Claude
🥉3位 ChatGPT o1

今回、この検証を行った理由としてChatGPTとGeminiに映像認識の機能追加が始まったことがあります。

AIがとうとう目を持ちました。いよいよ、SVGの画像生成も次のステップに進むのではないか、そう期待し現時点の能力を把握してみた次第です。

面白いですね。
みなさんも、いろいろなSVG画像をAIに書かせてみましょう。


いいなと思ったら応援しよう!