Add Luo Castle outer wall chapter

This commit is contained in:
2026-06-23 09:43:18 +09:00
parent 8349d1044f
commit cc6365d5ba
11 changed files with 1270 additions and 34 deletions

View File

@@ -0,0 +1,121 @@
<svg xmlns="http://www.w3.org/2000/svg" width="5800" height="4000" viewBox="0 0 5800 4000">
<defs>
<filter id="grain" x="-5%" y="-5%" width="110%" height="110%">
<feTurbulence type="fractalNoise" baseFrequency="0.025" numOctaves="4" seed="29" result="noise"/>
<feColorMatrix type="saturate" values="0.48"/>
<feBlend in="SourceGraphic" in2="noise" mode="multiply"/>
</filter>
<filter id="shadow" x="-10%" y="-10%" width="120%" height="120%">
<feDropShadow dx="0" dy="18" stdDeviation="12" flood-color="#1b110a" flood-opacity="0.44"/>
</filter>
<linearGradient id="plain" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#77714a"/>
<stop offset="0.46" stop-color="#a38c5b"/>
<stop offset="1" stop-color="#5f6846"/>
</linearGradient>
<linearGradient id="road" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#987041"/>
<stop offset="0.5" stop-color="#d4b879"/>
<stop offset="1" stop-color="#7d5f3d"/>
</linearGradient>
<linearGradient id="river" x1="0" y1="0" x2="1" y2="0">
<stop offset="0" stop-color="#233c58"/>
<stop offset="0.5" stop-color="#6fa3b7"/>
<stop offset="1" stop-color="#1f384f"/>
</linearGradient>
<linearGradient id="mountain" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#565035"/>
<stop offset="0.58" stop-color="#2f3421"/>
<stop offset="1" stop-color="#151a12"/>
</linearGradient>
<pattern id="scrub" width="240" height="190" patternUnits="userSpaceOnUse">
<path d="M-60 155 C25 110 84 90 160 38 M34 205 C104 150 165 128 260 76" fill="none" stroke="#e0c58a" stroke-width="12" stroke-opacity="0.16"/>
<circle cx="48" cy="60" r="8" fill="#3c5c31" opacity="0.2"/>
<circle cx="164" cy="126" r="7" fill="#38572f" opacity="0.18"/>
</pattern>
</defs>
<rect width="5800" height="4000" fill="url(#plain)"/>
<rect width="5800" height="4000" fill="url(#scrub)" opacity="0.78" filter="url(#grain)"/>
<g opacity="0.5">
<path d="M0 0 L940 0 C730 390 650 830 760 1320 C885 1885 800 2435 590 3090 C470 3460 480 3740 620 4000 L0 4000Z" fill="#111811"/>
<path d="M5800 0 L5140 0 C4890 390 4910 790 5200 1100 C5530 1455 5665 1895 5500 2380 C5355 2800 5410 3375 5660 4000 L5800 4000Z" fill="#111811"/>
<path d="M4550 0 C4460 320 4570 620 4840 900 L4965 0Z" fill="#111811"/>
</g>
<g filter="url(#shadow)">
<path d="M1210 0 C1180 390 1240 835 1300 1210 C1370 1710 1320 2290 1205 2940" fill="none" stroke="#1b3147" stroke-width="260" stroke-linecap="round"/>
<path d="M1240 0 C1210 392 1270 842 1330 1215 C1390 1710 1345 2282 1230 2930" fill="none" stroke="url(#river)" stroke-width="194" stroke-linecap="round"/>
<path d="M1305 90 C1286 505 1365 850 1405 1210 C1458 1650 1415 2170 1320 2660" fill="none" stroke="#a6d4df" stroke-width="22" stroke-linecap="round" opacity="0.5"/>
<path d="M3130 270 C3245 900 3175 1520 3135 2500" fill="none" stroke="#1b3147" stroke-width="250" stroke-linecap="round"/>
<path d="M3160 275 C3265 895 3200 1525 3170 2490" fill="none" stroke="url(#river)" stroke-width="184" stroke-linecap="round"/>
<path d="M3226 390 C3285 980 3235 1520 3205 2280" fill="none" stroke="#a6d4df" stroke-width="20" stroke-linecap="round" opacity="0.5"/>
<path d="M3960 3030 C3935 3370 3990 3680 4000 4000" fill="none" stroke="#1b3147" stroke-width="235" stroke-linecap="round"/>
<path d="M3990 3045 C3970 3380 4020 3688 4025 4000" fill="none" stroke="url(#river)" stroke-width="172" stroke-linecap="round"/>
</g>
<g filter="url(#shadow)">
<path d="M360 780 C720 310 1150 120 1600 70 C1870 40 2090 45 2340 125 C1995 500 1730 850 1510 1280 C1220 1120 910 1115 670 1230 C505 1308 390 1135 360 780Z" fill="url(#mountain)"/>
<path d="M2040 120 C2420 -20 2750 70 3040 392 C2840 690 2700 975 2640 1300 C2310 1080 1995 1000 1665 1120 C1690 760 1810 400 2040 120Z" fill="url(#mountain)"/>
<path d="M3290 280 C3800 105 4260 270 4635 835 C4350 1065 4175 1385 4070 1750 C3770 1510 3415 1425 3085 1585 C3115 1135 3195 660 3290 280Z" fill="url(#mountain)"/>
<path d="M2380 3330 C2750 3040 3220 3050 3605 3295 C3388 3500 3285 3725 3240 4000 L2245 4000 C2260 3740 2300 3510 2380 3330Z" fill="url(#mountain)"/>
<path d="M4240 2720 C4730 2510 5240 2645 5580 3040 C5310 3295 5155 3620 5100 4000 L4250 4000 C4400 3560 4385 3135 4240 2720Z" fill="url(#mountain)"/>
</g>
<g opacity="0.98">
<path d="M460 3560 C1060 3350 1540 3320 2040 3020 C2520 2730 2910 2560 3550 2500 C4090 2450 4470 2090 5065 1760 C5280 1640 5500 1625 5650 1715" fill="none" stroke="#553924" stroke-width="350" stroke-linecap="round" stroke-linejoin="round" opacity="0.4"/>
<path d="M470 3530 C1075 3330 1565 3280 2050 2975 C2545 2670 2945 2495 3540 2445 C4050 2400 4430 2052 5030 1715 C5262 1580 5500 1565 5660 1660" fill="none" stroke="url(#road)" stroke-width="226" stroke-linecap="round" stroke-linejoin="round" filter="url(#grain)"/>
<path d="M820 3570 C1480 3365 1910 3265 2450 2910 C2850 2645 3190 2538 3610 2535" fill="none" stroke="#f0dba2" stroke-width="34" stroke-linecap="round" stroke-opacity="0.42"/>
</g>
<g filter="url(#shadow)">
<path d="M4630 1190 L5480 1190 L5610 1345 L5610 2380 L4550 2380 L4550 1345Z" fill="#6c5940" stroke="#221812" stroke-width="38"/>
<path d="M4755 1340 L5400 1340 L5500 1450 L5500 2250 L4665 2250 L4665 1450Z" fill="#9b7c4d" stroke="#2c1c13" stroke-width="25"/>
<path d="M4935 1680 L5175 1680 L5175 2250 L4935 2250Z" fill="#241b14"/>
<path d="M4570 1175 L4475 1320 L4550 1345 L5610 1345 L5685 1260 L5480 1190Z" fill="#373027"/>
<path d="M4790 1110 L4935 1020 L5080 1110 L5080 1265 L4790 1265Z" fill="#454034" stroke="#211912" stroke-width="22"/>
<path d="M5200 1125 L5320 1055 L5440 1125 L5440 1265 L5200 1265Z" fill="#454034" stroke="#211912" stroke-width="22"/>
<path d="M4550 2395 C4870 2510 5230 2510 5580 2395" fill="none" stroke="#3c2c1c" stroke-width="44" stroke-linecap="round"/>
</g>
<g opacity="0.74">
<circle cx="790" cy="1780" r="245" fill="#2c532a"/>
<circle cx="1135" cy="1535" r="265" fill="#345e32"/>
<circle cx="1480" cy="1890" r="292" fill="#2b4f28"/>
<circle cx="1970" cy="1430" r="272" fill="#31572e"/>
<circle cx="2350" cy="1710" r="300" fill="#294a26"/>
<circle cx="2820" cy="2190" r="268" fill="#355f32"/>
<circle cx="3500" cy="3260" r="308" fill="#315c31"/>
<circle cx="4040" cy="3370" r="350" fill="#294c2a"/>
<circle cx="4750" cy="2920" r="330" fill="#31582f"/>
<circle cx="5350" cy="3330" r="360" fill="#294b27"/>
</g>
<g opacity="0.96">
<g transform="translate(1830 3070)">
<path d="M0 88 L138 0 L276 88 L250 255 L28 255Z" fill="#746640" stroke="#2b2015" stroke-width="18"/>
<path d="M42 95 L138 35 L234 95 L214 136 L138 88 L62 136Z" fill="#ce8428"/>
<rect x="98" y="136" width="82" height="116" fill="#2d2116"/>
<path d="M35 262 C110 294 178 294 250 262" fill="none" stroke="#25301c" stroke-width="20"/>
</g>
<g transform="translate(3335 2520) scale(0.92)">
<path d="M0 88 L138 0 L276 88 L250 255 L28 255Z" fill="#716241" stroke="#2b2015" stroke-width="18"/>
<path d="M42 95 L138 35 L234 95 L214 136 L138 88 L62 136Z" fill="#ce8428"/>
<rect x="98" y="136" width="82" height="116" fill="#2d2116"/>
</g>
<g transform="translate(4070 1920) scale(0.88)">
<path d="M0 88 L138 0 L276 88 L250 255 L28 255Z" fill="#746340" stroke="#2b2015" stroke-width="18"/>
<path d="M42 95 L138 35 L234 95 L214 136 L138 88 L62 136Z" fill="#ce8428"/>
<rect x="98" y="136" width="82" height="116" fill="#2d2116"/>
</g>
</g>
<g opacity="0.25">
<path d="M0 3260 C500 3090 850 3100 1250 3210" fill="none" stroke="#ead49c" stroke-width="28"/>
<path d="M3600 1570 C4050 1320 4450 1210 4900 1220" fill="none" stroke="#ead49c" stroke-width="24"/>
<path d="M1500 3050 C1950 2940 2420 2720 2880 2410" fill="none" stroke="#49321e" stroke-width="18"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB