"Generate an SVG of an analog clock face showing exactly 6:30. Reply with only the SVG code."
Creating SVG for clock representation
I need to generate an SVG showing exactly 6:30. The minute hand should point down at 6, while the hour hand sits halfway between 6 and 7, at 195 degrees from the top. I want a clear analog clock in a 300x300 format. The hour hand will have coordinates calculated using sine and cosine formulas. The minute hand will be placed at x150, y245. It might help to include clock numbers, but the focus is strictly on the SVG output.
Creating SVG clock
I need to output an SVG image of a clock showing exactly 6:30. The minute hand should be at 6, and the hour hand needs to be positioned halfway between 6 and 7. I'll make sure the clock is visible and clear so anyone could understand it at a glance. Now, I'll get started on generating the SVG code for this clock!
The user wants an SVG of an analog clock face showing exactly 6:30, and I must reply with only the SVG code.
The user wants an SVG of an analog clock face showing exactly 6:30.
At 6:30:
In SVG coordinates, 0° is at 12 o'clock (pointing up), and angles increase clockwise.
Let me design the clock:
For hand endpoints, using rotation transforms is easier:
Let me use lines drawn from center pointing up, then rotated.
Minute hand: line from (100,100) to (100,42), rotate(180, 100, 100) → ends at (100, 158) Hour hand: line from (100,100) to (100,62), rotate(195, 100, 100) → ends at... 195° means 15° past straight down toward the 7 position. So pointing down and slightly to the left.
Wait — at 6:30, the hour hand should be between 6 and 7. 6 is at 180°, 7 is at 210°. Halfway is 195°. 195° from 12 clockwise: pointing down and toward the left (7 is on the left side of the clock face). Yes, correct.
Let me add tick marks for 12 hours. Major ticks at each hour, and numbers optionally.
Let me generate tick marks using rotations: For each hour angle (0, 30, 60, ..., 330), draw a line from (100, 18) to (100, 28) rotated around center.
Actually, let me compute coordinates or use transforms. Using transforms is cleaner.
Numbers: 12 at top, etc. I could add numbers at radius ~75.
Number positions (center 100,100, radius 72):
Position formula: x = 100 + r·sin(θ), y = 100 − r·cos(θ), where θ is hour angle.
Use text-anchor="middle" and dominant-baseline="middle" (or dy=".35em").
Ticks: for each hour, line from radius 80 to 88. Using group with rotations: 12 lines each with transform rotate(angle 100 100), line x1=100 y1=14 x2=100 y2=24
Maybe add minute ticks too, smaller.
Minute hand: length 62, from center to y=38, rotated 180°. So line (100,100)-(100,38) rotate(180 100 100) → tip at (100,162). Good.
Hour hand: length 42, line (100,100)-(100,58), rotate(195 100 100).
Add center circle.
Clock face: circle cx=100 cy=100 r=95, fill white, stroke dark, stroke-width 4. Inner circle maybe.
Let me write the SVG:
Alternative for ticks: use a circle with stroke-dasharray. For 60 ticks: circumference = 2π×r. With r=84, C≈527.8. Each tick segment: 527.8/60 ≈ 8.796. dasharray "1 7.796" with stroke-width 6 gives small ticks. That's clever but maybe fragile. Let me just do hour ticks with 12 lines, and maybe minute ticks via dasharray.
Hour ticks with dasharray: r=84 circle, stroke-width 10, dasharray: 527.8/12 ≈ 43.98, so "2 41.98". That gives 12 thick ticks. And minute ticks: r=84, stroke-width 4, dasharray "1 7.796".
Actually let me just write out 12 lines with rotations — clearer and more reliable. And add numbers.
Hands:
Center:
Second hand optional — 6:30 doesn't specify seconds; skip or add at 12? Better skip to keep "exactly 6:30" clean. Or include a thin second hand pointing at 12 (0 seconds) — that's fine too. I'll skip it to avoid ambiguity. Actually including it pointing at :00 seconds is consistent with 6:30:00. But simpler to omit. I'll omit.
Numbers font: font-family="Arial, sans-serif" font-size="16" fill="#222".
Let me write out all 12 tick lines with rotate angles 0,30,...,330. Line from (100,12) to (100,24), stroke-width 4.
Full SVG:
Let me recompute number positions with r=68 (to fit inside ticks at r=78..90): Actually ticks at y=10..22 means radius 78..90 from center. Numbers should be inside radius 78, so r=66.
θ positions with r=66:
dominant-baseline="central" works in most renderers. Use dy maybe. I'll use dominant-baseline="middle".
Hands:
Also minute ticks: add 60 small ticks? Could use dasharray circle: Circumference at r=90: 565.487. /60 = 9.4248. So dasharray "1 8.4248". The dashes: stroke-width 6 radially means ticks extend from r=87 to r=93. That overlaps the face border at 96 — okay. But hour ticks are at 78-90... overlapping. Hmm.
Simplify: minute ticks via dasharray at r=90, hour ticks drawn longer at same region but thicker and darker. Let me set minute tick circle r=90, stroke-width 4 → ticks from 88 to 92. Hour ticks from (100,10) to (100,24) → radius 76 to 90, stroke-width 5. They'd overlap at r 88-90 but hour ticks are darker/thicker so fine. Actually hour tick ends at 90, minute tick outer at 92. Looks fine.
Dash offset: dashes start at 3 o'clock position by default (circle path starts at (cx+r, cy)). To align a tick at 12 o'clock, need stroke-dashoffset. For dasharray "1 8.4248", the first dash is at angle 0 (3 o'clock). Shifting by dashoffset moves dashes backward along path. To get ticks at every 6° including at 12: total dash period 9.4248 corresponds to 6°. We need offset such that a dash lands at top. Circle path starts at 3 o'clock going clockwise (in SVG, circles start at (cx+r, cy) and go... actually direction is clockwise? The path goes in the positive angle direction which in SVG's y-down coordinate is clockwise). The point at distance d along path from start corresponds to angle d/r radians clockwise from 3 o'clock. 12 o'clock is at −90° or equivalently 270° clockwise from 3 o'clock → distance = (3/4)·C = 424.1. With dashoffset = 424.1 mod 9.4248... 424.115 / 9.4248 = 45.0 exactly? 9.4248 × 45 = 424.116. Yes! Because 60/4 = 15 ticks per quarter, so 12 o'clock is exactly at a multiple of the period. Since 60 is divisible by 4, ticks naturally align at 12, 3, 6, 9. So no offset needed.
So minute ticks:
But wait, hour ticks overlap minute ticks — minute tick at hour positions would be hidden under hour ticks. Fine.
Hmm, but with r=90 and stroke-width 4, outer edge at 92, face border at 96 with width 4 → inner edge at 94. OK.
Alternatively, simpler and robust: skip minute ticks, just hour ticks + numbers. That's clean. I'll include minute ticks via dasharray for detail — it's well-supported.
Actually, to be safe about decimal dasharray rendering, it's fine in all modern renderers.
Let me also double check hour hand angle: At 6:30, hour = 6 + 30/60 = 6.5. 6.5/12 × 360 = 195°. rotate(195) in SVG rotates clockwise (positive angles clockwise due to y-down). A line pointing up rotated 195° clockwise: 180° would point straight down, extra 15° moves it toward... rotating clockwise from down position by 15° moves tip toward the left (7 direction). Correct: at 6:30 hour hand is between 6 and 7, i.e., down and slightly left.
Minute hand at 180°: straight down at 6. Correct.
Final SVG code:
Check minute hand tip: y=30 → radius 70, numbers at r=66... tip would overlap "6" number when pointing down. The "6" is at (100,166). Minute hand tip at rotate(180) of (100,30) → (100,170). That's past the number at 166! The hand would cross over the "6" numeral. That's normal for clocks (hands pass over numerals), but nicer if hand ends before numerals. Let me set minute hand to y=36 → tip radius 64, ends at (100,164) when rotated 180. Number 6 at y=166 center with font-size 15 extends up to ~158. Hmm, hand tip at 164 overlaps number top. Hands drawn after numbers will cover them slightly. Common in clock SVGs; acceptable. But let me shorten: minute hand to y=38 (r=62) → tip at 162, number 6 spans ~158-174. Still touches. It's fine aesthetically — hands typically reach near the numerals and overlap is natural since hands are on top.
Actually many clock faces have hands reaching to about the numeral band. Overlap of a couple pixels is fine.
Hour hand: y=60 → r=40. Tip at rotate 195. Fine.
Tail: hour hand tail y1=106 (r=6), minute tail y1=108 (r=8). With center cap r=5.5 covering.
Everything looks good. Reply with only the SVG code.
Analyze the Request:
Determine the Geometry:
Design the Clock Face:
<circle cx="100" cy="100" r="95" fill="white" stroke="black" stroke-width="2"/><line> elements.<line x1="100" y1="100" x2="87.06" y2="148.3" stroke="black" stroke-width="4" stroke-linecap="round"/><line x1="100" y1="100" x2="100" y2="170" stroke="black" stroke-width="3" stroke-linecap="round"/><circle cx="100" cy="100" r="4" fill="black"/>Refining the SVG:
87.06 and 148.30.Drafting the SVG Code:
Review against constraints:
<svg>...</svg> string. I will output just the raw text.Refine Details:
<g> with transform="rotate(angle 100 100)" and a single line to make it super easy and perfectly accurate.transform="rotate(195 100 100)"x1="100" y1="100" to x2="100" y2="50" (length 50)transform="rotate(195 100 100)"x1="100" y1="100" to x2="100" y2="30" (length 70)transform="rotate(180 100 100)"Re-drafting with transforms:
Verification of 6:30 position:
transform="rotate(180 100 100)" applied to a line pointing up (to 12) makes it point down (to 6). Correct.transform="rotate(195 100 100)" applied to a line pointing up makes it point 15 degrees clockwise past straight down. This is exactly halfway between 6 (180) and 7 (210). Correct.Final Polish:
<svg>...</svg>.Looks solid. I'll remove the width and height attributes to make it fully scalable, but the prompt didn't specify, so keeping them is fine. I'll remove them just to be safe and standard.
Wait, I'll keep width="200" height="200" so it renders at a reasonable size by default.
Double check the 6:30 position:
Everything looks perfect.
8 models answered this prompt
<svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 200 200"> <!-- Clock face --> <circle cx="100" cy="100" r="95" fill="#ffffff" stroke="#222222" stroke-width="5"/> <circle cx="100" cy="100" r="88" fill="none" stroke="#dddddd" stroke-width="1"/> <!-- Minute ticks --> <g stroke="#999999" stroke-width="1"> <line x1="100" y1="12" x2="100" y2="18" transform="rotate(0 100 100)"/> ... 60 ticks would be verbose. Maybe use stroke-dasharray on a circle instead. </g><svg xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 200 200"> <circle cx="100" cy="100" r="96" fill="#ffffff" stroke="#1a1a1a" stroke-width="4"/> <g stroke="#1a1a1a" stroke-width="4" stroke-linecap="round"> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(0 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(30 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(60 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(90 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(120 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(150 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(180 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(210 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(240 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(270 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(300 100 100)"/> <line x1="100" y1="10" x2="100" y2="22" transform="rotate(330 100 100)"/> </g> <g font-family="Arial, Helvetica, sans-serif" font-size="15" font-weight="bold" fill="#1a1a1a" text-anchor="middle" dominant-baseline="middle"> <text x="100" y="33">12</text> <text x="133.5" y="41.2">1</text> ... </g><svg xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 200 200"> <!-- Face --> <circle cx="100" cy="100" r="96" fill="#ffffff" stroke="#1a1a1a" stroke-width="4"/> <!-- Minute ticks --> <circle cx="100" cy="100" r="90" fill="none" stroke="#cfcfcf" stroke-width="4" stroke-dasharray="1 8.4248"/> <!-- Hour ticks --> <g stroke="#1a1a1a" stroke-width="5" stroke-linecap="round"> <line x1="100" y1="10" x2="100" y2="24" transform="rotate(0 100 100)"/> ... etc </g> <!-- Numerals --> <g font-family="Arial, Helvetica, sans-serif" font-size="15" font-weight="bold" fill="#1a1a1a" text-anchor="middle" dominant-baseline="middle"> <text x="100" y="34">12</text> <text x="133" y="42.8">1</text> <text x="157.2" y="67">2</text> <text x="166" y="100">3</text> <text x="157.2" y="133">4</text> <text x="133" y="157.2">5</text> <text x="100" y="166">6</text> <text x="67" y="157.2">7</text> <text x="42.8" y="133">8</text> <text x="34" y="100">9</text> <text x="42.8" y="67">10</text> <text x="67" y="42.8">11</text> </g> <!-- Hour hand: 6:30 -> 195 degrees --> <line x1="100" y1="106" x2="100" y2="60" stroke="#1a1a1a" stroke-width="7" stroke-linecap="round" transform="rotate(195 100 100)"/> <!-- Minute hand: 30 minutes -> 180 degrees --> <line x1="100" y1="108" x2="100" y2="30" stroke="#1a1a1a" stroke-width="5" stroke-linecap="round" transform="rotate(180 100 100)"/> <!-- Center cap --> <circle cx="100" cy="100" r="5.5" fill="#1a1a1a"/> <circle cx="100" cy="100" r="2" fill="#ffffff"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200"> <!-- Background --> <circle cx="100" cy="100" r="95" fill="#f9f9f9" stroke="#333" stroke-width="3"/> <!-- Hour ticks --> <g stroke="#333" stroke-width="2"> <!-- 12 --> <line x1="100" y1="10" x2="100" y2="20"/> <!-- 1 --> <line x1="149.6" y1="23.4" x2="144.6" y2="32.1"/> <!-- 2 --> <line x1="176.6" y1="50.4" x2="167.9" y2="55.4"/> <!-- 3 --> <line x1="190" y1="100" x2="180" y2="100"/> <!-- 4 --> <line x1="176.6" y1="149.6" x2="167.9" y2="144.6"/> <!-- 5 --> <line x1="149.6" y1="176.6" x2="144.6" y2="167.9"/> <!-- 6 --> <line x1="100" y1="190" x2="100" y2="180"/> <!-- 7 --> <line x1="50.4" y1="176.6" x2="55.4" y2="167.9"/> <!-- 8 --> <line x1="23.4" y1="149.6" x2="32.1" y2="144.6"/> <!-- 9 --> <line x1="10" y1="100" x2="20" y2="100"/> <!-- 10 --> <line x1="23.4" y1="50.4" x2="32.1" y2="55.4"/> <!-- 11 --> <line x1="50.4" y1="23.4" x2="55.4" y2="32.1"/> </g> <!-- Numbers --> <g font-family="sans-serif" font-size="16" font-weight="bold" fill="#333" text-anchor="middle" dominant-baseline="central"> <text x="100" y="35">12</text> <text x="165" y="100">3</text> <text x="100" y="165">6</text> <text x="35" y="100">9</text> </g> <!-- Minute Hand (6:30 -> pointing at 6) --> <line x1="100" y1="100" x2="100" y2="165" stroke="#333" stroke-width="4" stroke-linecap="round"/> <!-- Hour Hand (6:30 -> halfway between 6 and 7) --> <line x1="100" y1="100" x2="87.06" y2="148.30" stroke="#333" stroke-width="6" stroke-linecap="round"/> <!-- Center Cap --> <circle cx="100" cy="100" r="5" fill="#333"/></svg><g stroke="#333" stroke-width="2"> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(0 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(30 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(60 100 100)"/> ...</g><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200"> <!-- Clock Face --> <circle cx="100" cy="100" r="95" fill="#f9f9f9" stroke="#333" stroke-width="3"/> <!-- Hour Ticks --> <g stroke="#333" stroke-width="2"> <line x1="100" y1="10" x2="100" y2="20"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(30 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(60 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(90 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(120 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(150 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(180 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(210 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(240 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(270 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(300 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(330 100 100)"/> </g> <!-- Minute Ticks (optional, makes it look nicer) --> <g stroke="#555" stroke-width="1"> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(6 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(12 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(18 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(24 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(36 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(42 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(48 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(54 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(66 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(72 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(78 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(84 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(96 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(102 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(108 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(114 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(126 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(132 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(138 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(144 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(156 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(162 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(168 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(174 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(186 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(192 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(198 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(204 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(216 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(222 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(228 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(234 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(246 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(252 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(258 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(264 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(276 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(282 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(288 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(294 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(306 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(312 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(318 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(324 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(336 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(342 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(348 100 100)"/> <line x1="100" y1="10" x2="100" y2="15" transform="rotate(354 100 100)"/> </g> <!-- Actually, writing 60 lines is tedious. Let's just stick to 12 hour markers. It's perfectly clear. --> <!-- Numbers --> <g font-family="sans-serif" font-size="16" font-weight="bold" fill="#333" text-anchor="middle" dominant-baseline="central"> <text x="100" y="35">12</text> <text x="165" y="100">3</text> <text x="100" y="165">6</text> <text x="35" y="100">9</text> </g> <!-- Minute Hand (6:30 -> pointing at 6 -> 180 deg) --> <line x1="100" y1="100" x2="100" y2="30" stroke="#333" stroke-width="4" stroke-linecap="round" transform="rotate(180 100 100)"/> <!-- Hour Hand (6:30 -> halfway between 6 and 7 -> 195 deg) --> <line x1="100" y1="100" x2="100" y2="50" stroke="#333" stroke-width="6" stroke-linecap="round" transform="rotate(195 100 100)"/> <!-- Center Cap --> <circle cx="100" cy="100" r="5" fill="#333"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200"> <circle cx="100" cy="100" r="95" fill="#f9f9f9" stroke="#333" stroke-width="3"/> <g stroke="#333" stroke-width="2"> <line x1="100" y1="10" x2="100" y2="20"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(30 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(60 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(90 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(120 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(150 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(180 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(210 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(240 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(270 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(300 100 100)"/> <line x1="100" y1="10" x2="100" y2="20" transform="rotate(330 100 100)"/> </g> <g font-family="sans-serif" font-size="16" font-weight="bold" fill="#333" text-anchor="middle" dominant-baseline="central"> <text x="100" y="35">12</text> <text x="165" y="100">3</text> <text x="100" y="165">6</text> <text x="35" y="100">9</text> </g> <line x1="100" y1="100" x2="100" y2="30" stroke="#333" stroke-width="4" stroke-linecap="round" transform="rotate(180 100 100)"/> <line x1="100" y1="100" x2="100" y2="50" stroke="#333" stroke-width="6" stroke-linecap="round" transform="rotate(195 100 100)"/> <circle cx="100" cy="100" r="5" fill="#333"/></svg>