ะคะพะฝั‹ะะพะฒะพะต

ะกั‚ะฐั ะฟั‚ะธั†

ะ–ะธะฒะฐั ัั‚ะฐั ะฝะฐ canvas: ะฟั‚ะธั†ั‹ ะดะตั€ะถะฐั‚ัั ะฒะผะตัั‚ะต, ะฝะต ัั‚ะฐะปะบะธะฒะฐัŽั‚ัั ะธ ั€ะฐะทะปะตั‚ะฐัŽั‚ัั ะพั‚ ะบัƒั€ัะพั€ะฐ.

ะะฐัั‚ั€ะพะนะบะธ

background
color

ะžัะฝะพะฒะฐะฝะพ ะฝะฐ Boids Ecosystem (MIT ะปะธั†ะตะฝะทะธั) ยท ะฃัะปะพะฒะธั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั

ะŸะฐั€ะฐะผะตั‚ั€ั‹

10 ะฟะฐั€ะฐะผะตั‚ั€ะพะฒ
ะŸะฐั€ะฐะผะตั‚ั€ะขะธะฟะŸะพ ัƒะผะพะปั‡ะฐะฝะธัŽะžะฟะธัะฐะฝะธะต
countnumber120ะกะบะพะปัŒะบะพ ะฟั‚ะธั† ะฒ ัั‚ะฐะต.
agentShape'triangle' | 'dot'"triangle"ะคะพั€ะผะฐ ะฟั‚ะธั†: ั‚ั€ะตัƒะณะพะปัŒะฝะธะบ ะธะปะธ ั‚ะพั‡ะบะฐ.
cursorRadiusnumber90ะะฐ ะบะฐะบะพะผ ั€ะฐััั‚ะพัะฝะธะธ ัั‚ะฐั ัƒั…ะพะดะธั‚ ะพั‚ ะบัƒั€ัะพั€ะฐ, ะฒ ะฟะธะบัะตะปัั….
backgroundstring"#0a0a0a"ะฆะฒะตั‚ ั„ะพะฝะฐ ะฒ ั„ะพั€ะผะฐั‚ะต #rrggbb. ะžั‚ ะฝะตะณะพ ะทะฐะฒะธัะธั‚ ะดะปะธะฝะฐ ัˆะปะตะนั„ะฐ.
palettestring[]"[\"#fafafa\", \"#d4d4d4\", \"#a3a3a3\", \"#737373\"]"ะฆะฒะตั‚ะฐ ะฟั‚ะธั†, ะบะฐะถะดะพะน ะดะพัั‚ะฐั‘ั‚ัั ัะปัƒั‡ะฐะนะฝั‹ะน.
colorstringโ€”ะžะดะธะฝ ั†ะฒะตั‚ ัั‚ะฐะธ: ะฟั‚ะธั†ั‹ ะฟะพะปัƒั‡ะฐัŽั‚ ะตะณะพ ัะฒะตั‚ะปั‹ะต ะธ ั‚ั‘ะผะฝั‹ะต ะพั‚ั‚ะตะฝะบะธ ะฒะผะตัั‚ะพ palette.
attractors{ x: number; y: number; strength?: number; radius?: number }[]โ€”ะขะพั‡ะบะธ, ะบ ะบะพั‚ะพั€ั‹ะผ ั‚ัะฝะตั‚ัั ัั‚ะฐั. x ะธ y ะพั‚ 0 ะดะพ 1.
agentsRefRefObject<BoidAgent[] | null>โ€”ะกัั‹ะปะบะฐ ะฝะฐ ะถะธะฒะพะน ะผะฐััะธะฒ ะฟั‚ะธั†, ั‡ั‚ะพะฑั‹ ั‡ะธั‚ะฐั‚ัŒ ะธั… ะฟะพะทะธั†ะธะธ.
childrenReactNodeโ€”ะกะพะดะตั€ะถะธะผะพะต ะฟะพะฒะตั€ั… ั„ะพะฝะฐ, ะฝะฐะฟั€ะธะผะตั€ ะทะฐะณะพะปะพะฒะพะบ.
classNamestringโ€”ะšะปะฐััั‹ ะดะปั ะพะฑั‘ั€ั‚ะบะธ.

ะ—ะฐะฒะธัะธะผะพัั‚ะธ

ะŸะฐะบะตั‚ะพะฒ: 2

npm install clsx tailwind-merge

ะŸะพั…ะพะถะธะต ะบะพะผะฟะพะฝะตะฝั‚ั‹

ะกะผะพั‚ั€ะตั‚ัŒ ะฒัะต