반응형

import oscP5.*;
import netP5.*;

OscP5 oscP5;
NetAddress myRemoteLocation;

void setup()
{
  size(400,400);
  frameRate(25);
 
  oscP5 = new OscP5(this, 12000);
 
  //ip와 포트번호를 가지고 있는 netAddress이다.
  myRemoteLocation = new NetAddress("127.0.0.1",12000);
}

void draw(){
  background(0);
}
void test1()
{
 // String s = "Test11 ";
  background(100,100,0);
  text(72,20, 80);
}
//마우스 이벤트
void mousePressed()
{
  OscMessage myMessage = new OscMessage("/test");
 
  myMessage.add(123);
  myMessage.add("hello");
 
  oscP5.send(myMessage, myRemoteLocation);
}

//메세지 리시브

void oscEvent(OscMessage theOscMessage) {
// draw1();
print(" addrpattern: "+theOscMessage.addrPattern());
}

간단한 예제이다.
소켓통신을 공부했다면 어느정도 이해가 되는 소스
oscP5 라이브러리가 도데체 뭔가 하고 헤맷었는데.
이미 내가 알고있는 사이트에서 만든 라이브러리였다.
아 진짜 바보.
약자라는걸 왜 눈치를 못챘지?

반응형
반응형

독학하는것도 좋긴한데,
시간이 오래걸린다는게 문제...

가격이 부담되긴 한데,
생각해봐야지.



http://music.dongguk.ac.kr/mmjw/


 
반응형
반응형
아 정말 바보인가..ㅡ.ㅡ열라 헤멨다.

Getting Started에 나온 대로 그대로 했는데 뭐가 잘못되었을까,하며 짜증을 내려던 찰라
경모형이 왔다.
차근차근 내가 했던 행동들을 하나씩 보여주면서 하니,
실수했던 부분들이 있었다.
아 영어..ㅡ.ㅡㅋ

http://www.onar3d.com/mother/
우선 저기방문할것.

To get the included examples running, follow the following steps:

1. Copy Gradient.jar and Waltz.jar to wherever you want to keep your synths.

->하드드라이브에 아무데나 폴더 생성하고 거기에다가 이 파일을 넣으면된다
나는 c:\synths 를 만들고 거기에 파일 세이빙

2. Update mother.ini to refer to that path, eg: SynthFolder=X:\\Stuff\\My Synths;
   Also create subfolders "data" and "libraries",
   e.g. X:\Stuff\My Synths\data and X:\Stuff\My Synths\libraries.

->이것땜에 고생했다.
워드패드로 열어야 수정이 쉽다, 노트패드로 열어서 괜한곳에 경로를 수정하고있었음
아까 만들어준 폴더의 경로를 입력
c:\\synths;


3. Running example controller:

   Max/MSP Windows:
    Start "Mother_Controller_Example - 0.3.exe",
       and make sure to allow it through any firewalls you have,
       or it will not be able to communicate with Mother.

->난 윈도우 사용자로써, 저거 파일 실행해줬음..ㅋ

   OSX:
    Download Max/MSP runtime from www.cycling74.com,
    and use it to open the included "Mother_Controller_Example - 0.3.mxf" file.

   Pure Data Alternative:    
    Download and install Pure Data extended from: http://puredata.info/downloads,
    and open the pd patch "PureData controller example.pd",
    included with this Mother distribution. 
->여기서 이걸 빼먹고 갔다...
OSX사용자만 보라는건줄 알고...ㅡㅠ
어쨌든 저 사이트가서 퓨어데이터 다운받아서
실행후->파일 읽어준다

4. Start Mother.exe, add an instance of each synth using the controller example buttons,
   and try out the various adjustments.
->Mother.exe실행
MAX/MSP에서 이런저런 값들을 변경해주면 된다.

5. Read the included documentation, documentation related to using OSC (http://opensoundcontrol.org/),
   and get started making your own synths and user interfaces for controlling them!

If it doesn't work right away:

    * Make sure you are pointing mother to a valid filepath for the synths,
      and that you are using the double backslash '\\' in the path.
     
    * Make sure you graphics card and the installed drivers support OpenGL 2.0
   
    * Make sure the communication between the controller and Mother is not blocked by a firewall,
      and that the network ports specified in Mother.ini are available.
   
    * Email me at onar3d@hotmail.com :)

exception.
그라디언트가 잘 실행이 안되는거 같아서
라이브러리
C:\Stuff\Synths\libraries
에 colorutils geomutils  jar파일을 넣어주니 잘 되네염^^
반응형
반응형

openframeworks C++를 기반으로 한 라이브러리로 현재 활발하게 활동하고 있는 Zach Lieberman Theo Watson 이 이끌고 있습니다.

아티스트와 디자이너들을 위한 프로그램으로는 Processing Max/Msp/Jitter 가 가장 유명한데 두 프로그램 모두 사용하다 보면 일정 틀을 가지게 되곤 합니다. 능숙한 프로그래머들이 자유자재로 다루기는 하지만 기존의 작업들을 보면 프로세싱으로 만들었다거나 맥스를 사용했다는 것이 충분이 짐작갈 정도로 틀을 깨기 힘든 것이 사실입니다. 이러한 경향을 띄게 되는 이유는 아무래도 프로그래머들보다 아티스트, 디자이너를 위한 프로그램이다 보니 실제 코드들을 사용하기 쉽게 단순화 시키는 과정에서 나오는 것인데요 이를 탈피해보고자 만들게 된 프로그램이 openframeworks 입니다. Openframeworks 역시 사용하기 쉽도록 여러 라이브러리를 만들어 놓은 상태이지만 c++ 기반이다 보니 좀더 다양하고 자유로운 작업이 가능합니다.


이제 막 퍼지고 있는 프로그램이어서 아직 사용자가 그리 많지는 않습니다. 등록된 웹싸이트의 사용자가 1600명 정도니까요. 하지만 점점 이 프로그램을 사용하는 사람들이 늘고 있습니다. C언어를 배우는 것이 쉽지 않기 때문에 아무래도 프로그래머로 시작하여 아티스트가 되는 사람들이 빨리 시작하고 있구요, java의 연산처리속도가 많이 빨라졌다고는 하나 아직까진 c++이 더 빠르기 때문에 빠른 처리속도를 원하는 실시간 비주얼라이제이션과 관련된 작업을 하는 사람들 위주로 점점 퍼저나가고 있습니다.

 

처음 싸이트에 들어가면 몇가지 작업 이외에는 아무것도 보이지 않습니다. 우선 메일링 리스트를 가입해 주시고 http://www.openframeworks.cc/forum/faq.php 이곳에서 등록을 해주셔야 합니다. 재미있게도 스팸으로 가입되는 것을 막기위해 재미있는 문제도 있고 (제 경우는 농장에서 기르는 동물을 클릭하라는 문제였습니다.) ‘당신은 인간입니까?’ 라는 유머러스한 문제도 있었습니다. 이러한 질문에서도 알 수 있듯 이 싸이트는 진지한 아트를 토론하는 곳 보다는 프로그램 베이스의 미디어 아트를 하는 사람들이 즐겁게 프로그램을 배우고 서로의 작업을 구경하는 곳에 더 가깝습니다.


기타 프로그램들과 비교했을 때 아무래도 c++ 베이스이다 보니 시작이 힘들고 사용자가 적어 예제 작업도 많이 부족합니다만 Zach 이 열심히 만들고 있으니 앞으로 기대가 되고 있습니다. 이번 Ars Electronica 2008에서 부스를 마련하여 이 프로그램을 이용하여 Zachery Lieberman, Golan Levin 과 같은 유명 미디어 아티스트들이 즉석에서 관객들의 요청을 받아 작업하는 공간을 공개하기도 했습니다. http://www.openframeworks.cc/ars/

Zach은 현재 뉴욕에 있는 eyebeam 에서 R&D OpenLab Fellows 있어서 openframeworks 에 대한 워크샵을 자주 하고 있습니다. www.eyebeam.org 이곳에서 워크샵에 대한 정보를 얻으실 수 있고, 또한 아래 싸이트에서 openframeworks 로 검색하시면 많은 작업들을 보실수 있습니다.

www.flickr.com, http://www.youtube.com/, http://vimeo.com/of.

 

프로세싱의 경우 수많은 아티스트와 사용자들이 어우러져 거대한 커뮤니티를 이루었고 오픈소스의 힘으로 점점 그 가능성이 확장되고 있습니다. 미디어 아티스트, 특히 프로그램베이스로 작업을 하는 사람들에겐 이 분야에서는 정말 오아시스 같은 존재였는데 Openframeworks 가 생김으로서 또 하나의 샘을 만난 것 같습니다. 아직 부족한 부분이 많이 있지만 프로세싱과 어깨를 견주는 싸이트가 되어 미디어아트의 한 획을 긋는 싸이트가 되었음 하는 바램입니다.

 

소개영상 http://vimeo.com/921725


글. 김성훈(뉴욕대학교 ITP
과정, skymod@gmail.com)

반응형
반응형
웹서핑을 하다 괜찮은 인터렉티브 아트 발견~!

DJ의 스크래칭 음악을
visual로 표현한 작품
데이터를 이진화 시켰는지 흑백의 조합속에서도
꽤 느낌있는 작품이 나온다.

이퀼라이져와는 느낌이 조금 다른 비쥬얼
관심있다면 동영상을~!

http://www.v-scratch.net





V-Scratch is a software/hardware environment which allows for unique visual interpretations in turntable composition. It transposes nuances made by the rotation of the record: the variations of speed, audio spectrum and volume. In addition, the physical act of spinning the record back and forth is transmitted through an optical mouse. All these variables enable a simultaneous performance of moving image and sound while creating an infinite space for possible results.



반응형
반응형

http://www.smoothware.com/danny/mirrorsmirrormov.html
DANIEL ROZIN INTERACTIVE ART | Works | Bio | Contact
 
  Mechanical Mirrors:
The mechanical mirrors are made of various materials but share the same behavior and interaction; any person standing in front of one of these pieces is instantly reflected on its surface. The mechanical mirrors all have video cameras, motors and computers on board and produce a soothing sound as the viewer interacts with them.
 
 

Mirrors Mirror - 2008
768 mirror tiles,768 motors, video camera, control electronics.
Size 90 inches H, 70 inches W, 6 Inches D
Mirrors Mirror creates the viewers' image by directing 768 small mirror tiles in a way that reflects different portions of their image. The piece is made of 24 columns of "pixels" that form a concaved curved surface that is aimed at the viewer. Brighter pixels reflect the upper body of the viewer and the wall behind him and dark ones are aimed lower. So the environment is important as it affects the reflection. The viewing experience is quite private as the resulting image can be seen only by the reflected person. This piece also includes an algorithmic animation feature that is triggered every time a person leaves the piece.

Mirrors Mirror at Taubman Museum

Detail of Mirrors Mirror

Video of Mirrors Mirror
(Click to view)



처음엔 이러한 종류의 IA를 보면 신기해 하였는데..
지금은 그닥 신기해 보이진 않는다.

가운데 캠으로 사람을 인식

사물->캠->사진파일 변환->분석(이미지를 이진화 시키려나..)->임베디드 시스템과의 통신

대충 이런식으로 갈꺼 같다.
반응형
반응형


http://www.sester.net/index.html

http://www.accessproject.net/

사람을 위치를 쫒아 spotlight를 비쳐주는 IA


생각은 쓰지않고 현상을 지켜보다.
반응형
반응형

[펌] http://kr.blog.yahoo.com/minandclub/folder/20.html
========================================

제약조건 (Constraint)


  제약조건이란 테이블에 부적절한 자료가 입력되는 것을 방지하기 위해서 여러 가지 규칙을 적용해 놓는거라 생각하면 됩니다. 간단하게 테이블안에서 테이터의 성격을 정의하는 것이 바로 제약조건 입니다.

 ★ 데이터의 무결성 유지를 위하여 사용자가 지정할 수 있는 성질 입니다.

 ★ 모든 CONSTRAINT는 데이터 사전(DICTIONARY)에 저장 됩니다.

 ★ 의미있는 이름을 부여했다면 CONSTRAINT를 쉽게 참조할 수 있습니다.

 ★ 표준 객체 명명법을 따르는 것이 좋습니다.

 ★ 제약조건은 테이블을 생성할 당시에 지정할 수도 있고, 테이블 생성 후 구조변경(ALTER)명령어를
     통해서도 추가가 가능합니다.

 ★ NOT NULL제약조건은 반드시 컬럼 레벨에서만 정의가 가능합니다.


NOT NULL 조건
: 컬럼을 필수 필드화 시킬 때 사용합니다.


SQL> CREATE TABLE emp(
        ename VARCHAR2(20)  CONSTRAINT emp_nn_ename NOT NULL );
        이런식으로 하면 ename 컬럼에는 꼭 데이터를 입력해야만 합니다.

        여기서 emp_nn_ename은 (테이블이름_제약조건이름_컬럼이름) 형식으로
        CONSTRAINT NAME을 정의 합니다.

        CONSTRAINT NAME은 USER_CONSTRAINTS 뷰(VIEW)를 통해서 확인할수 있습니다.

SQL> SELECT CONSTRAINT_NAME
         FROM    USER_CONSTRAINTS
         WHERE  TABLE_NAME ='EMP' ;

          CONSTRAINT_NAME
          -----------------------
          emp_nn_ename           이런 식으로 제약사항의 이름을 확인할수 있습니다.
 



UNIQUE 조건
:
데이터의 유일성을 보장(중복되는 데이터가 존재할수 없습니다.)
자동으로 index가 생성됩니다.    


SQL> ALTER TABLE emp
        ADD CONSTRAINT emp_uk_deptno UNIQUE (deptno) ;

테이블이 변경되었습니다.

     이런식으로 하면 deptno 컬럼에 중복된 데이터가 들어갈 수 없습니다.

-- 제약 조건의 삭제

SQL>ALTER TABLE emp
       DROP CONSTRAINT emp_uk_deptno ; 

테이블이 변경되었습니다.
 



CHECK 조건 :
컬럼의 값을 어떤 특정 범위로 제한할 수 있습니다.


SQL>ALTER TABLE emp
       ADD CONSTRAINT emp_ck_comm
       CHECK (comm >= 10 AND comm <= 100000) ;

테이블이 변경되었습니다.

     comm컬럼은 체크조건에서 제한을 하고 있으므로 1에서 100까지의 값만을 가질수  있습니다.
     
체크 조건에서는 IN 연산자를 사용할수 있습니다.


-- 제약 조건의 삭제

SQL>ALTER TABLE emp
        DROP CONSTRAINT emp_ck_comm ;

테이블이 변경되었습니다.

SQL> ALTER TABLE emp
        ADD CONSTRAINT emp_ck_comm
        CHECK (comm  IN  (10000,20000,30000,40000,50000)) ;

테이블이 변경되었습니다.

     comm 컬럼은 10000,20000,30000,40000,50000의 값만을 가질수 있습니다.
 



DEFAULT
(컬럼 기본값) 지정 : 데이터 입력시에 입력을 하지 않아도 지정된 값이 입력될수 있습니다.

SQL>CREATE TABLE emp(   
        hiredate DATE DEFAULT  SYSDATE ) ;

     이런식으로 하면 hiredate 컬럼에 INSERT를 하지 않아도 오늘 날짜가 들어갑니다.



PRIMARY KEY 지정
: 기본키는 UNIQUE 와 NOT NULL의 결합과 같습니다.

  ※  기본키는 그 데이터 행을 대표하는 컬럼으로서의 역할을 수행하여 다른 테이블에서
       외래키들이  참조할 수 있는 키로서의 자격을 가지고 있습니다. 이를 참조 무결성이라 합니다
.  

       UNIQUE 조건과 마찬가지로 기본키를 정의하면 자동으로 인덱스를 생성하며
       그 이름은 기본 키  제약 조건의 이름과 같습니다.


INDEX KEY
: 검색 키로서 검색 속도를 향상 시킴니다.
                   (UNIQUE,PRIMARY KEY 생성시 자동적으로 생김니다.)

SQL>CREATE TABLE emp(
        empno NUMBER CONSTRAINT emp_pk_empno PRIMARY KEY ) ;

     이런식으로 하면 empno 컬럼에 UNIQUE 제약조건과 NOT NULL제약조건을 가지게 됩니다.



 FOREIGN KEY(외래 키)지정
: 기본키를 참조하는 컬럼 또는 컬럼들의 집합입니다.

※ 외래키를 가지는 컬럼의 데이터 형은 외뢰키가 참조하는 기본키의 컬럼과 데이터형이
    일치해야 합니다.
    이를 어기면 참조무결성 제약에의해 테이블을 생성할수 없습니다.

외래키에 의해 참조되고 있는 기본 키는 삭제할수 없다.

ON DELETE CASCADE 연산자와 함께 정의된 외래키의 데이터는  그 기본키가 삭제 될 때 같이
    삭제됩니다.


SQL>ALTER TABLE emp ADD CONSTRAINT emp_fk_deptno
        FOREIGN  KEY (deptno) REFERENCES dept(deptno)        

테이블이 변경되었습니다.

 이런식으로 하면 emp 테이블의 deptno 컬럼은 dept 테이블에 deptno 컬럼을 참조하는
 외래키를 가지게 됩
니다.

직접 변경해 보세요..

 


제약 조건의 확인

USER_CONS_COLUMNS : 컬럼에 할당된 제약 조건을 볼 수 있습니다.
USER_CONSTRAINTS : 유저가 소유한 모든 제약 조건을 불 수 있습니다.  
이 두개의 데이터사전을 참조 하면 됩니다.
 
 SQL> SELECT  SUBSTR(A.COLUMN_NAME,1,15) COLUMN_NAME,  
               DECODE(B.CONSTRAINT_TYPE,
                                         'P','PRIMARY KEY',
                        'U','UNIQUE KEY',
                      'C','CHECK OR NOT NULL',
                                        'R','FOREIGN KEY') CONSTRAINT_TYPE,  
              A.CONSTRAINT_NAME   CONSTRAINT_NAME  
        FROM  USER_CONS_COLUMNS  A,  USER_CONSTRAINTS  B  
        WHERE  A.TABLE_NAME = UPPER('&table_name')  
            AND  A.TABLE_NAME = B.TABLE_NAME  
            AND  A.CONSTRAINT_NAME = B.CONSTRAINT_NAME  
        ORDER BY 1;  

-- 테이블 명을 입력 하면 됩니다.
table_name의 값을 입력하십시오: emp2

 
COLUMN_NAME         CONSTRAINT_TYPE   CONSTRAINT_NAME
------------------------------ ----------------- --------------
DEPTNO                   CHECK OR NOT NULL      SYS_C001362   
                               FOREIGN KEY                EMP2_FK_DEPTNO
EMPNO                     PRIMARY KEY               EMP2_PK_EMPNO
ENAME                     CHECK OR NOT NULL     EMP2_NN_ENAME
MGR                        UNIQUE KEY                  EMP2_UP_MGR
반응형

+ Recent posts