<aside> <img src="/icons/bookmark_purple.svg" alt="/icons/bookmark_purple.svg" width="40px" />
목차
</aside>
<aside> ✅
타원형 배치를 구현하기 위해, 좌표 시스템을 사용하여 각 사용자의 위치를 계산합니다.
→ 각 사용자는 타원의 장축과 단축을 기준으로 위치가 결정되며, 이 때 수학적 공식인 타원 방정식을 사용합니다.
2 * Math.PI / count
로 나누어지며, 이를 통해 사용자의 위치를 계산합니다.(x, y)
좌표를 계산합니다. 이를 통해 사용자의 좌표가 타원 모양을 따르게 됩니다.// 참여자 수에 따른 위치를 계산하는 함수
export const calculatePosition = (count: number, shortRadius: number, longRadius: number): [number, number][] => {
const positions: [number, number][] = [];
const centerX = 0;
const centerY = 0;
const angleDiff = (2 * Math.PI) / count;
for (let i = 0; i < count; i++) {
const angle = angleDiff * i;
const x = centerX + longRadius * Math.sin(angle);
const y = centerY + shortRadius * Math.cos(angle);
positions.push([x, y]);
}
return positions;
};
사용자 수에 따라 사용자간 배치 각도 계산 → 각도에따라 좌표값 계산
사용자가 추가되거나 삭제될 때마다, calculatePosition
함수가 호출되어 사용자의 위치가 재계산됩니다.
성능 최적화