현재 위치: > 최신 기사 목록> ImageOpenPolygon ()의 정기적 인 다각형 정점 좌표를 계산하는 방법

ImageOpenPolygon ()의 정기적 인 다각형 정점 좌표를 계산하는 방법

M66 2025-05-29

PHP에서 GD 라이브러리를 사용하여 그래픽을 처리하는 것은 매우 일반적인 요구 사항입니다. 특히 그래픽 프로그래밍에서 일반 다각형을 그리는 것은 기본 작업입니다. 이 기사에서는 일반 다각형의 정점 좌표를 계산하는 방법을 설명하고 ImageOpenpolygon 함수를 사용하여 일반 다각형을 그립니다.

1. 일반 다각형 정점의 좌표를 계산하십시오

일반 다각형은 동일한 모서리와 각도를 가진 다각형을 나타냅니다. 일반 다각형의 경우 극지 좌표계를 통해 각 정점의 좌표를 계산할 수 있습니다.

우리가 일반 N- 측면을 그리고 싶다고 가정 하고이 다각형의 중심점 좌표는 (CX, Cy) 이고 반경은 r 입니다. 다음 공식을 통해 각 정점의 좌표를 계산할 수 있습니다.

  • 각 정점의 각도 간격은 360/n 도입니다

  • kth vertex의 각도는 2 * pi * k / n 입니다.

  • 정점의 좌표는 다음과 같습니다.

    • x = cx + r * cos (각도)

    • y = cy + r * sin (각도)

2. PHP 구현 코드

PHP는 vertex 좌표를 계산하고 ImageOpenpolygon 함수를 사용하여 일반 다각형을 그리는 데 사용됩니다. 구현을위한 전체 코드는 다음과 같습니다.

 <?php
// 이미지의 너비와 높이를 설정하십시오
$width = 400;
$height = 400;

// 이미지 리소스를 만듭니다
$image = imagecreatetruecolor($width, $height);

// 배경색을 설정하십시오
$bgColor = imagecolorallocate($image, 255, 255, 255); // 하얀색
imagefill($image, 0, 0, $bgColor);

// 다각형의 색상을 설정하십시오
$polygonColor = imagecolorallocate($image, 0, 0, 255); // 파란색

// 다각형의 중심과 반경
$cx = $width / 2;
$cy = $height / 2;
$r = 100; // 반지름
$n = 6; // 가장자리 수(일반 육각형)

// 각 정점의 좌표를 계산하십시오
$points = [];
for ($i = 0; $i < $n; $i++) {
    $angle = 2 * pi() * $i / $n;
    $x = $cx + $r * cos($angle);
    $y = $cy + $r * sin($angle);
    $points[] = $x;
    $points[] = $y;
}

// 사용imageopenpolygon정기적 인 다각형을 그리는 기능
imagepolygon($image, $points, $n, $polygonColor);

// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);

// 이미지 리소스 릴리스
imagedestroy($image);
?>

3. 코드 분석

  1. 이미지 생성 및 배경 설정 : 첫째, 너비와 높이가 400x400 인 이미지는 imageCreateTrueColor 기능을 통해 생성됩니다. 그런 다음 ImageColorAllothing을 사용하여 배경색을 흰색으로 설정하십시오.

  2. 정점 좌표 계산 : 우리는 위에서 언급 한 공식에 기초하여 일반 다각형의 각 정점의 좌표를 계산합니다. COSSIN 함수를 통해 각 정점의 XY 좌표를 계산하고 이러한 좌표를 배열 $ 포인트 에 저장하십시오.

  3. 일반 다각형 그리기 : ImagePolygon 함수는 모든 정점 좌표를 포함하는 배열을 가져 와서 이러한 좌표를 기반으로 다각형을 그립니다.

  4. 출력 이미지 : ImagePNG를 사용하여 이미지를 브라우저에 출력하고 브라우저에서 그린 일반 다각형을 보입니다.

4. 요약

위의 단계를 통해, 우리는 일반 다각형의 정점 좌표를 성공적으로 계산하고 PHP의 ImagePolygon 함수를 사용하여 일반 다각형을 그립니다. 이 방법은 모든 일반 다각형으로 확장 될 수 있으며, 단순히 가장자리 n 과 반경 r 의 수를 조정하여 다른 크기와 모양의 다각형을 그릴 수 있습니다.