Created
November 24, 2025 08:22
-
-
Save pleabargain/19c85bc3bb520c94c088816251ea4222 to your computer and use it in GitHub Desktop.
gemini generated internal combustion engine SVG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600"> | |
| <defs> | |
| <!-- Metal Gradients --> | |
| <linearGradient id="blockMetal" x1="0%" y1="0%" x2="100%" y2="0%"> | |
| <stop offset="0%" stop-color="#9ea7aa" /> | |
| <stop offset="20%" stop-color="#cfd8dc" /> | |
| <stop offset="50%" stop-color="#eceff1" /> | |
| <stop offset="80%" stop-color="#cfd8dc" /> | |
| <stop offset="100%" stop-color="#9ea7aa" /> | |
| </linearGradient> | |
| <linearGradient id="cutaway" x1="0%" y1="0%" x2="100%" y2="100%"> | |
| <stop offset="0%" stop-color="#78909c" /> | |
| <stop offset="100%" stop-color="#546e7a" /> | |
| </linearGradient> | |
| <linearGradient id="pistonGrad" x1="0%" y1="0%" x2="100%" y2="0%"> | |
| <stop offset="0%" stop-color="#b0bec5" /> | |
| <stop offset="50%" stop-color="#eceff1" /> | |
| <stop offset="100%" stop-color="#b0bec5" /> | |
| </linearGradient> | |
| <linearGradient id="rodGrad" x1="0%" y1="0%" x2="100%" y2="0%"> | |
| <stop offset="0%" stop-color="#7f8c8d" /> | |
| <stop offset="50%" stop-color="#bdc3c7" /> | |
| <stop offset="100%" stop-color="#7f8c8d" /> | |
| </linearGradient> | |
| <!-- Combustion Gradient --> | |
| <radialGradient id="combustion" cx="50%" cy="20%" r="80%" fx="50%" fy="20%"> | |
| <stop offset="0%" stop-color="#fff9c4" /> | |
| <stop offset="20%" stop-color="#ffeb3b" /> | |
| <stop offset="50%" stop-color="#ff9800" /> | |
| <stop offset="90%" stop-color="#f44336" /> | |
| <stop offset="100%" stop-color="#d32f2f" stop-opacity="0.8" /> | |
| </radialGradient> | |
| <!-- Coolant Water --> | |
| <pattern id="waterPattern" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse"> | |
| <rect width="10" height="10" fill="#29b6f6" /> | |
| <circle cx="5" cy="5" r="2" fill="#4fc3f7" /> | |
| </pattern> | |
| <!-- Shadow --> | |
| <filter id="dropShadow" 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.3"/> | |
| </feComponentTransfer> | |
| <feMerge> | |
| <feMergeNode/> | |
| <feMergeNode in="SourceGraphic"/> | |
| </feMerge> | |
| </filter> | |
| </defs> | |
| <!-- Background --> | |
| <rect width="800" height="600" fill="#f5f5f5" /> | |
| <!-- Main Diagram Group --> | |
| <g transform="translate(250, 50)"> | |
| <!-- Crankshaft (Rear/Main Bearing) --> | |
| <circle cx="150" cy="400" r="40" fill="#546e7a" stroke="#37474f" stroke-width="2" /> | |
| <!-- Connecting Rod (Behind Piston) --> | |
| <!-- Angled slightly to suggest rotation --> | |
| <path d="M150,400 L150,280" stroke="#7f8c8d" stroke-width="30" stroke-linecap="round" /> | |
| <path d="M135,400 L135,280 L165,280 L165,400 Z" fill="url(#rodGrad)" stroke="#546e7a" stroke-width="1" /> | |
| <!-- Crank Counterweight --> | |
| <path d="M150,400 L110,460 A50,50 0 0,0 190,460 Z" fill="#607d8b" stroke="#455a64" stroke-width="2" opacity="0.9" /> | |
| <circle cx="150" cy="400" r="15" fill="#cfd8dc" /> | |
| <!-- Cylinder Block Cutaway --> | |
| <path d="M50,150 L250,150 L250,400 L300,400 L300,100 L0,100 L0,400 L50,400 Z" fill="url(#cutaway)" stroke="#37474f" stroke-width="2" filter="url(#dropShadow)" /> | |
| <!-- Cylinder Liner/Bore Surface --> | |
| <rect x="50" y="150" width="200" height="250" fill="#cfd8dc" opacity="0.3" /> | |
| <!-- Coolant Channels (Water Jackets) --> | |
| <path d="M10,180 L40,180 L40,350 L10,350 Z" fill="url(#waterPattern)" stroke="#0277bd" stroke-width="1" /> | |
| <path d="M260,180 L290,180 L290,350 L260,350 Z" fill="url(#waterPattern)" stroke="#0277bd" stroke-width="1" /> | |
| <!-- Piston --> | |
| <g transform="translate(0, 30)"> <!-- Piston Position --> | |
| <rect x="55" y="220" width="190" height="120" rx="5" fill="url(#pistonGrad)" stroke="#546e7a" stroke-width="2" /> | |
| <!-- Piston Rings --> | |
| <line x1="55" y1="235" x2="245" y2="235" stroke="#37474f" stroke-width="2" /> | |
| <line x1="55" y1="245" x2="245" y2="245" stroke="#37474f" stroke-width="2" /> | |
| <line x1="55" y1="255" x2="245" y2="255" stroke="#37474f" stroke-width="2" /> | |
| <!-- Wrist Pin --> | |
| <circle cx="150" cy="280" r="15" fill="#78909c" stroke="#455a64" stroke-width="2" /> | |
| <circle cx="150" cy="280" r="8" fill="#cfd8dc" /> | |
| </g> | |
| <!-- Combustion Chamber / Explosion --> | |
| <path d="M55,150 L245,150 L245,250 L55,250 Z" fill="url(#combustion)" opacity="0.9" /> | |
| <!-- Cylinder Head --> | |
| <path d="M0,100 L300,100 L300,20 L0,20 Z" fill="url(#cutaway)" stroke="#37474f" stroke-width="2" filter="url(#dropShadow)" /> | |
| <!-- Intake Port --> | |
| <path d="M0,40 L80,40 L100,100 L60,100 Z" fill="#eceff1" stroke="#546e7a" stroke-width="1" /> | |
| <!-- Exhaust Port --> | |
| <path d="M300,40 L220,40 L200,100 L240,100 Z" fill="#eceff1" stroke="#546e7a" stroke-width="1" /> | |
| <!-- Valves --> | |
| <!-- Intake Valve (Closed) --> | |
| <g transform="translate(80, 50)"> | |
| <rect x="-3" y="-40" width="6" height="80" fill="#cfd8dc" /> | |
| <path d="M-15,40 L15,40 L10,50 L-10,50 Z" fill="#90a4ae" stroke="#546e7a" stroke-width="1" /> | |
| <!-- Spring --> | |
| <path d="M-10,-30 L10,-30 L10,10 L-10,10 Z" fill="none" stroke="#37474f" stroke-width="2" stroke-dasharray="4,2" /> | |
| </g> | |
| <!-- Exhaust Valve (Closed) --> | |
| <g transform="translate(220, 50)"> | |
| <rect x="-3" y="-40" width="6" height="80" fill="#cfd8dc" /> | |
| <path d="M-15,40 L15,40 L10,50 L-10,50 Z" fill="#90a4ae" stroke="#546e7a" stroke-width="1" /> | |
| <!-- Spring --> | |
| <path d="M-10,-30 L10,-30 L10,10 L-10,10 Z" fill="none" stroke="#37474f" stroke-width="2" stroke-dasharray="4,2" /> | |
| </g> | |
| <!-- Camshafts --> | |
| <circle cx="80" cy="10" r="15" fill="#b0bec5" stroke="#455a64" stroke-width="2" /> | |
| <path d="M80,10 L70,25 L90,25 Z" fill="#b0bec5" stroke="#455a64" stroke-width="2" /> <!-- Lobe --> | |
| <circle cx="220" cy="10" r="15" fill="#b0bec5" stroke="#455a64" stroke-width="2" /> | |
| <path d="M220,10 L210,25 L230,25 Z" fill="#b0bec5" stroke="#455a64" stroke-width="2" /> <!-- Lobe --> | |
| <!-- Spark Plug --> | |
| <g transform="translate(150, 80)"> | |
| <rect x="-6" y="-40" width="12" height="50" fill="#ffffff" stroke="#37474f" stroke-width="1" /> | |
| <rect x="-7" y="-10" width="14" height="10" fill="#78909c" /> <!-- Hex nut --> | |
| <path d="M-2,10 L-2,20" stroke="#37474f" stroke-width="2" /> <!-- Electrode --> | |
| <path d="M-5,20 L5,20" stroke="#37474f" stroke-width="2" /> <!-- Ground strap --> | |
| <!-- Spark --> | |
| <circle cx="0" cy="18" r="4" fill="#ffff00" filter="url(#dropShadow)" /> | |
| </g> | |
| <!-- Valve Cover --> | |
| <path d="M10,10 L290,10 L280,-10 L20,-10 Z" fill="#546e7a" opacity="0.8" /> | |
| </g> | |
| <!-- Labels Layer --> | |
| <g font-family="Arial, sans-serif" font-size="14" fill="#333"> | |
| <!-- Camshaft Label --> | |
| <text x="50" y="40" text-anchor="end" font-weight="bold">Camshaft</text> | |
| <line x1="55" y1="35" x2="320" y2="60" stroke="#333" stroke-width="1" /> | |
| <circle cx="320" cy="60" r="3" fill="#333" /> | |
| <!-- Intake Valve Label --> | |
| <text x="50" y="80" text-anchor="end" font-weight="bold">Intake Valve</text> | |
| <line x1="55" y1="75" x2="330" y2="100" stroke="#333" stroke-width="1" /> | |
| <circle cx="330" cy="100" r="3" fill="#333" /> | |
| <!-- Spark Plug Label --> | |
| <text x="400" y="30" text-anchor="middle" font-weight="bold">Spark Plug</text> | |
| <line x1="400" y1="35" x2="400" y2="90" stroke="#333" stroke-width="1" /> | |
| <circle cx="400" cy="90" r="3" fill="#333" /> | |
| <!-- Combustion Chamber Label --> | |
| <text x="650" y="200" text-anchor="start" font-weight="bold">Combustion Chamber</text> | |
| <line x1="645" y1="195" x2="450" y2="220" stroke="#333" stroke-width="1" /> | |
| <circle cx="450" cy="220" r="3" fill="#333" /> | |
| <!-- Piston Label --> | |
| <text x="50" y="300" text-anchor="end" font-weight="bold">Piston</text> | |
| <line x1="55" y1="295" x2="300" y2="300" stroke="#333" stroke-width="1" /> | |
| <circle cx="300" cy="300" r="3" fill="#333" /> | |
| <!-- Coolant Jacket Label --> | |
| <text x="50" y="230" text-anchor="end" font-weight="bold">Coolant Jacket</text> | |
| <line x1="55" y1="225" x2="270" y2="250" stroke="#333" stroke-width="1" /> | |
| <circle cx="270" cy="250" r="3" fill="#333" /> | |
| <!-- Connecting Rod Label --> | |
| <text x="650" y="350" text-anchor="start" font-weight="bold">Connecting Rod</text> | |
| <line x1="645" y1="345" x2="410" y2="380" stroke="#333" stroke-width="1" /> | |
| <circle cx="410" cy="380" r="3" fill="#333" /> | |
| <!-- Crankshaft Label --> | |
| <text x="650" y="450" text-anchor="start" font-weight="bold">Crankshaft</text> | |
| <line x1="645" y1="445" x2="400" y2="450" stroke="#333" stroke-width="1" /> | |
| <circle cx="400" cy="450" r="3" fill="#333" /> | |
| <!-- Exhaust Port Label --> | |
| <text x="650" y="100" text-anchor="start" font-weight="bold">Exhaust Port</text> | |
| <line x1="645" y1="95" x2="480" y2="120" stroke="#333" stroke-width="1" /> | |
| <circle cx="480" cy="120" r="3" fill="#333" /> | |
| </g> | |
| </svg> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment