본문 바로가기

공공 데이터

방정식으로 그린 딸기

반응형

[공공데이터]   

 

 


 

■ 관련 데이터

방정식으로 그린 딸기

 

 

이미지에서 표현된 방정식으로 딸기를 그리는 방식은 주로 프랙탈 기하학고차원 수학적 함수를 조합한 것입니다. 이 특정 작품은 수학자 Hamid Naderi Yeganeh가 만든 것으로, 픽셀별 색상을 복잡한 방정식으로 정의해 이미지를 생성합니다.

일반적인 아이디어는 다음과 같습니다:

  1. 입력 매개변수:
    • m,nm, n: 이미지의 행(row)과 열(column) 좌표.
    • 각 픽셀에 대해 x,yx, y 좌표로 매핑.
  2. 방정식 구조:
    • F(x,y)F(x, y): 색상 강도를 계산하는 함수.
    • RGB 값: R(x,y)R(x, y), G(x,y)G(x, y), B(x,y)B(x, y)와 같이 계산.
    • 삼각 함수(사인, 코사인), 아크탄젠트, 지수 함수 등이 조합되어 각 픽셀의 색을 결정.

방정식 개요

일부 주요 방정식은 다음과 같은 형태를 가질 수 있습니다:

RGB(m,n)=(R(x,y),G(x,y),B(x,y))\text{RGB}(m, n) = \big(R(x, y), G(x, y), B(x, y)\big)

예를 들어:

R(x,y)=intensity⋅cos⁡(k1x+k2y)R(x, y) = \text{intensity} \cdot \cos(k_1 x + k_2 y) G(x,y)=intensity⋅sin⁡(k3x+k4y)G(x, y) = \text{intensity} \cdot \sin(k_3 x + k_4 y) B(x,y)=intensity⋅sin⁡(k5x+k6y)B(x, y) = \text{intensity} \cdot \sin(k_5 x + k_6 y)

그리고 픽셀의 밝기와 패턴을 결정하기 위해 삼각 함수 및 고차원 곡선이 조합됩니다.

 

 

직접 그리는 방법

  1. 프로그래밍:
    • Python과 같은 언어를 사용하여 NumPy, Matplotlib 라이브러리로 수식을 구현합니다.
    • 각 픽셀 좌표를 수학적 함수로 매핑합니다.
  2. 이미지 생성:
    • 방정식에서 R(x,y),G(x,y),B(x,y)R(x, y), G(x, y), B(x, y) 값을 계산한 후, 이를 이미지의 RGB 값으로 변환해 출력합니다.

 

 
 

아래는 Python을 사용하여 딸기 이미지를 방정식으로 그리는 예제 코드입니다. 이 코드는 방정식 기반의 픽셀 값을 계산하고 이미지를 생성합니다.


 

python
 
 
import numpy as np
import matplotlib.pyplot as plt

# 이미지 해상도 설정
width, height = 2000, 1200

# 좌표계 생성
x = np.linspace(-2, 2, width)
y = np.linspace(-2, 2, height)
X, Y = np.meshgrid(x, y)

# 방정식 정의
# R, G, B 채널의 값을 각각 정의
def strawberry_red(x, y):
    return 255 * np.exp(-((x**2 + y**2) * 4))  # 중심부 빨강

def strawberry_green(x, y):
    return 150 * np.exp(-((x - 0.5)**2 + (y + 0.5)**2) * 8)  # 초록 잎사귀 느낌

def strawberry_highlight(x, y):
    return 200 * np.sin(10 * (x**2 + y**2))**2  # 점박이 흰색 하이라이트

# 채널 합성
R = strawberry_red(X, Y)
G = strawberry_green(X, Y)
B = strawberry_highlight(X, Y)

# RGB 이미지 클리핑 (값 범위 조정)
R = np.clip(R, 0, 255)
G = np.clip(G, 0, 255)
B = np.clip(B, 0, 255)

# 이미지를 합성하여 출력
img = np.dstack((R, G, B)).astype(np.uint8)

# 이미지 출력
plt.figure(figsize=(10, 6))
plt.imshow(img)
plt.axis('off')
plt.show()
 
 
딸기 이미지
 

설명:

  1. 해상도 설정:
    • width와 height를 사용하여 이미지 크기를 정의합니다.
  2. 좌표계:
    • np.meshgrid로 X, Y 좌표를 생성해 각 픽셀의 위치를 계산합니다.
  3. 방정식:
    • 딸기의 빨강, 초록 잎, 흰 점박이를 각각 다른 함수로 정의합니다.
    • np.exp와 np.sin 함수는 곡선을 부드럽게 표현하기 위해 사용됩니다.
  4. RGB 합성:
    • 방정식으로 계산된 값을 R, G, B 채널로 조합합니다.
  5. 이미지 출력:
    • matplotlib 라이브러리로 이미지를 출력합니다.

이 코드를 실행하면 수식 기반으로 딸기 비슷한 이미지를 볼 수 있습니다.



■ 관련 자료

KakaoTalk_20250112_103410947.jpg
0.18MB




■ 링크

원본 자료의 관련 링크는 아래와 같다.

 

https://claude.site/artifacts/9dc694c5-3b66-449b-aa5a-175a11763aca

 

Claude Artifact

Try out Artifacts created by Claude users

claude.site

 

 

 

 

https://link.coupang.com/a/bY9wBy

 

미니소화기 파이렉스 FIREX 스프레이식 소화기 가정용 휴대용 차량용 최신제품 당일발송 - 소화기

현재 별점 4.7점, 리뷰 139개를 가진 미니소화기 파이렉스 FIREX 스프레이식 소화기 가정용 휴대용 차량용 최신제품 당일발송! 지금 쿠팡에서 더 저렴하고 다양한 소화기/거치대 제품들을 확인해보

www.coupang.com

 

https://link.coupang.com/a/bXy1hr

 

LG전자 시네빔 HU710PB 2024신모델 큐브 4K 빔프로젝터 Qube - 빔/프로젝터 | 쿠팡

쿠팡에서 4.9 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 15 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


■ 기준 날짜

 2025.1.1

반응형