계산 지능 WolframAlpha에서 아메바와 같은 기하학 생물을 만듭니다.

컴퓨터 과학 전용 검색 엔진 WolframAlpha 를 아십니까? 나는 이 WolframAlpha라는 존재를, 2017년의 SXSW에서 어딘가의 세션에서 등단자가 설명하고 있을 때에 알았지만, 그 때는 무엇에 사용할까라고 생각하고 있었다. 그 이후 잊고 있었지만, 최근 일본어판이 공개됐다는 정보를 우연히 보고 조금 흥미를 가지고 조사해 보았다. . . 는 여기 에 썼습니다.

재미있는 모양



walframAlpha에서 흥미로운 모양을 발견했기 때문에 JavaScript에서 성공적으로 생성 할 수 없는지 시행 착오 해 보았습니다. 이런 도형입니다.



수식
r = 4 + 0.5 * sin( 8 theta)

반경 R을 구하는 식이지만, Θ의 각도에 따라 원형을 왜곡하고 있습니다.
이 식의 구조로서는 이하의 느낌일까 생각합니다.

수식
半径 = 半径の大きさ + 振幅 * sin( 周波数 * theta)

이 표현식을 바탕으로 p5.js를 사용하여 그립니다.

p5.js
    const radius = 150;
    const amplitude = 12;

    const frequency = 12;
    translate(width / 2, height / 2)
    for (let i = 0; i < 360; i++){    
      const r = radius + amplitude * sin( radians(frequency * i ))              
      const x = cos(radians(i)) * r
      const y = sin(radians(i)) * r
      point(x, y);
    }




주파수 12로 설정했기 때문에 12개의 산이 되어 있습니다. 주파수나 진폭 도트의 수나 반경, Θ의 각도의 간격 등, 파라미터를 변경하는 것만으로, 실로 다양한 형상을 만들 수 있습니다.

이것을 기본 원리로, 아메바 제너레이터를 만들었습니다. 아메바로 보이지 않을지도 모르지만. . .
GitHub 에 두십시오.
또한 OpenProcessing 위에서도 시도할 수 있습니다.

Gellery































좋은 웹페이지 즐겨찾기