PHP에서 GD 라이브러리를 사용하여 그래픽을 처리하는 것은 매우 일반적인 요구 사항입니다. 특히 그래픽 프로그래밍에서 일반 다각형을 그리는 것은 기본 작업입니다. 이 기사에서는 일반 다각형의 정점 좌표를 계산하는 방법을 설명하고 ImageOpenpolygon 함수를 사용하여 일반 다각형을 그립니다.
일반 다각형은 동일한 모서리와 각도를 가진 다각형을 나타냅니다. 일반 다각형의 경우 극지 좌표계를 통해 각 정점의 좌표를 계산할 수 있습니다.
우리가 일반 N- 측면을 그리고 싶다고 가정 하고이 다각형의 중심점 좌표는 (CX, Cy) 이고 반경은 r 입니다. 다음 공식을 통해 각 정점의 좌표를 계산할 수 있습니다.
각 정점의 각도 간격은 360/n 도입니다
kth vertex의 각도는 2 * pi * k / n 입니다.
정점의 좌표는 다음과 같습니다.
x = cx + r * cos (각도)
y = cy + r * sin (각도)
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);
?>
이미지 생성 및 배경 설정 : 첫째, 너비와 높이가 400x400 인 이미지는 imageCreateTrueColor 기능을 통해 생성됩니다. 그런 다음 ImageColorAllothing을 사용하여 배경색을 흰색으로 설정하십시오.
정점 좌표 계산 : 우리는 위에서 언급 한 공식에 기초하여 일반 다각형의 각 정점의 좌표를 계산합니다. COS 및 SIN 함수를 통해 각 정점의 X 및 Y 좌표를 계산하고 이러한 좌표를 배열 $ 포인트 에 저장하십시오.
일반 다각형 그리기 : ImagePolygon 함수는 모든 정점 좌표를 포함하는 배열을 가져 와서 이러한 좌표를 기반으로 다각형을 그립니다.
출력 이미지 : ImagePNG를 사용하여 이미지를 브라우저에 출력하고 브라우저에서 그린 일반 다각형을 보입니다.
위의 단계를 통해, 우리는 일반 다각형의 정점 좌표를 성공적으로 계산하고 PHP의 ImagePolygon 함수를 사용하여 일반 다각형을 그립니다. 이 방법은 모든 일반 다각형으로 확장 될 수 있으며, 단순히 가장자리 n 과 반경 r 의 수를 조정하여 다른 크기와 모양의 다각형을 그릴 수 있습니다.