Skip to content

Instantly share code, notes, and snippets.

@icq4ever
Last active January 11, 2018 03:33
Show Gist options
  • Save icq4ever/cacaafdad20c35c0c98e5167c88e3f93 to your computer and use it in GitHub Desktop.
Save icq4ever/cacaafdad20c35c0c98e5167c88e3f93 to your computer and use it in GitHub Desktop.
scattering lights, gliding sounds body text

scattering lights

SCATTERING LIGHTS

흩어지는 빛

'흩어지는 빛, 미끄러지는 소리'는 온도, 풍향, 풍속, 습도 등 서울과 평창의 날씨 정보를 빛과 소리의 신호로 치환해 보행자들이 공감각적 경험을 통해 자연의 아름다움을 느낄수 있도록 하였다. 김다움, 이동훈, 핫산 후자이리가 참여했다.

서울로7017 에서 2018년 2월 28일까지 매일 오후 5:30부터 오후 11시 사이에 시연된다.


서울로에는 111개의 기둥조명과 600여개가 넘는 화분조명이 있다. 이들 중, 폴 조명과 다르게 화분조명의 경우 갯수가 많아 아쉽게도 개별제어가 불가능했다. 대신에 3개에서 많게는 7개정도씩 묶어서 그룹별로 제어가 가능했다.


본격적인 작업에 앞서, 조명이 동작할 때, 어떠한 패턴으로 제어를 할것인지를 큰 틀에서 모니터링 할 수 있어야 했다. 이를 위해, 서울로의 전체 조명의 위치를 가늠할 수 있는 방법을 고민해야 했는데, 서울로의 도면에서 각 조명의 아이디와, 위치를 2차원 평면에 매핑하고, 이것들을 프로그램에서 불러올 수 있는 json 파일의 형태로 정리하여 연동되도록 하였다. 서울로의 고가는 그 모양을 벡터파일로 다듬어 추출한 뒤 이미지파일로 변환하여 사용할 수 있게 하였다.


폴 조명은 개별제어가 가능하다. 평창에서의 바람에 흩날리는 가상의 씨앗들이 날아다니다 조명들을 건들었을 때, 각 폴들이 반짝이는 상상을 해보았다. 평창 날씨정보에서 얻어온 풍향을 기준으로, 2D Perlin 노이즈 알고리즘을 적용해, 실제와 흡사하게 미세한 풍향의 변화를 시뮬레이션하고, 풍속에 따라 날아다니는 파티클을 구현했다. 각 파티클들이 폴조명에 닿으면, 조명이 반짝이도록 프로그래밍했다.


화분조명의 제어를 위해서는 다른식의 접근방법을 고민해야 했는데, 함께 플레이되는 사운드 미디어에서 아이디어를 얻어왔다. 자연적인 신호, 특히 소리라는 것은 결국 순수한 사인파형이 합성된 신호이다. 이에 착안하여, 서울과 평창 두 위치에서 수집되는 온도 및 습도, 강수량등의 정보를 사인파형을 구성하는 주파수, 위상, 크기등의 파라메터로 대입하여, 두개의 사인파를 만든다음, 이를 합성하여 시시각각 변하는 연속적인 일종의 wave파형을 만들어내었다. 이 wave파형은 화분조명그룹의 갯수에 따라 고르게 간격을 유지하고, 이를 기반으로 샘플링되어, 최종적으로는 각 그룹의 밝기로 변환된다.


작업은 오픈프레임웍스로 구현되었다.
웹사이트 상단의 프로그램은 p5js로 구현되었으며, 오픈프레임웍스의 코드가 포팅되었다.
조명제어를 위해 ofxDMX 라이브러리가 사용되었다.


오픈프레임웍스 및 라이브러리 개발자들에게 이자리를 빌어 감사의 말씀을 전한다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment