본문 바로가기

AI교육62

완전 초짜 VVVV : 스프레드의 슬라이스 값 다루기 ▷스프레드의 슬라이스 값 다루기(CircularSpread노드 / GerSlice노드) 이번에는 스프레드 속에서 개별 슬라이스 값을 추출하거나 분리, 병합해보려고 한다. 즉, 일련의 데이터들 속에서 개별 데이터 값을 추출해 활용하는 것이다. 위의 사진에서는 CircularSpread 노드를 활용해 원형으로 스프레드를 만들었다. 현재 자료는 포인터들의 좌표값이다. 이런 스프레드에서 개별 데이터를 추출하기 위해 GetSlice 노드를 활용한다. GetSlice 노드의 첫번째 인풋핀은 받아드리는 데이터의 수, 두번째 인풋핀은 추출하고자 하는 데이터의 위치이다. 현재, 10 / 6 의 값을 주었기 때문에 10개의 데이터 중 6번째 데이터를 추출한다는 뜻이다.(단, 시작이 0번부터이므로 6번째 값은 -0.43이 .. 2021. 1. 28.
완전 초짜 VVVV : 수식의 활용/ 선 없는 데이터를 연결 ▷순차적 연산 위는 일반적인 연산 방법이다. VVVV는 이렇게 위에서 아래로 가는 순차의 흐름대로 연산이 이뤄진다. 하지만 연산을 할때마다 이렇게 일일이 나열하면서 해야 한다면, 복잡한 연산에서는 매우 불편할 것이다. ▷수식의 활용 Expr노드 Expr 노드를 활용하면, 복잡한 계산도 쉽고 간결하게 표현할 수 있다. Expr 노드를 삽입 후 inspektor(ctrl + L)를 열어, variable name(변수명)에 필요한 변수를 생성하고 Term에 표현하고자 하는 수식을 작성하면 Expr 노드는 해당 수식대로 연산을 진행하는 노드로 기능한다. 이때, 인풋핀에 A, B, C, D 변수의 순서대로 정확하게 데이터값을 입력해야 한다. ▷선 없는 데이터 연결 : S(Sender) 노드와 R(Reciever.. 2021. 1. 27.
완전 초짜 VVVV : 웹캠 영상을 텍스처로 renderer 위에 출력된 다양한 도형에 다양한 자료들을 텍스쳐로 입히는 방법을 배우고 있다. 이번엔 웹캠 영상까지 텍스쳐로 입혀본다. ▷VideoIn과 VideoTexture Sphere나 Transform 노드는 이미 많이 사용해서 익숙하다. Sphere와 Transform 노드로 renderer 위에 구가 생성되면, 웹캠을 덮기 위해 VideoIn과 VideoTexture 노드를 사용한다. VideoIn은 웹캠을 실행시켜서 그 데이터를 VVVV로 가져오는 역할이라면 VideoTexture는 그렇게 가져온 웹캠 데이터를 구 위에 입히는 역할을 한다.(VideoIn 노드를 사용하기 위해 필수적으로 필요한 인풋값들이 있음을 알기!) ▷VideoIn과 VideoTexture 활용 예제(영상 동시 송출) .. 2021. 1. 26.
완전 초짜 VVVV : 마우스 인터랙션으로 그림판 기능 구현 ▷Mouse 노드와 renderer 활용1 저번에 배운 Mouse 노드를 활용해 renderer에 그림판 기능을 구현해보려고 한다. Mouse 노드와 unzip 노드의 활용은 이전 포스팅 완전 초짜 VVVV : 마우스 좌표값과 상태를 확인해보시면 된다. Mouse 노드와 Point 노드를 연결해 renderer 창 위에 마우스 포인터를 따라 마킹이 생기는 기능을 만들 수 있다. Mouse 노드의 오른쪽 클릭 핀과 renderer의 clear 핀(2번째 인풋핀)을 토글박스로 연결하면 마우스로 오른쪽 클릭을 하면 renderer 위의 모든 포인터가 지워지는 효과를 구현할 수 있다. ▷Mouse 노드와 renderer 활용2 이번엔 추가기능 구현이다. 중요한 건 Mouse 노드의 어떤 핀과 어떤 노드가 연결되.. 2021. 1. 25.
완전 초짜 파이썬 : 예제 총정리 예제1) '9X 둘 중 하나는 맞나요?'를 파이썬으로 표현 예제2) 입력(input)과 출력(print)를 활용해 이름과 나이를 묻고 그 결과를 출력하는 코드만들기 예제3) 국어, 수학, 영어 성적을 입력받고 수식을 활용해 평균값을 구해 출력하기 예제4) 1부터 10까지 숫자 중에서 짝수 출력하기: continue 사용 (while문으로) 예제5) 임의의 두 정수 입력받은 후 최소공배수 출력 (for문으로) 예제6) 리스트에 입력받은 원소가 있는지를 확인해 출력하는 코드 만들기 예제7) 딕셔너리 안에 해당 원소가 몇번 들어 있는지를 카운팅하는 코드 작성 예제8) 숫자를 입력받고 그 숫자에 해당하는 팩토리얼 실행 결과를 재귀함수를 활용해 출력하기 예제9) 가족 구성원 클래스를 만들고, 가구원 수 만큼의 객.. 2021. 1. 24.
완전 초짜 VVVV : 불규칙한 수치데이터 다듬기 불규칙적인 데이터를 바로 그래픽화 시켜 사용하다보면, 너무 급작스러운 변화 때문에 부자연스럽게 느껴질때가 있다. 따라서 보다 자연스러운 그래픽으로 만들기 위해선 수치 데이터를 다듬을 필요가 있다. 불규칙한 수치 데이터를 다듬을 때는 크게 2가지 노드를 사용한다. WaveShaper 와 Damper 이다. ▷WaveShaper WaveShaper는 인풋된 데이터들을 그래프의 파형모양으로 다듬어서 활용하는 노드이다. 크게 5가지 shape를 고를 수 있다. -Linear : 선형 / 최소값에서 최대값으로까지 상승하고 다시 처음인 최소값으로 돌아오는 방식 -inverse : 역순형 / 최대값에서 최소값으로 하락하고 다시 처음인 최대값으로 돌아오는 방식 -triangle : 삼각형 / 최소값에서 최대값으로 점차.. 2021. 1. 22.
완전 초짜 VVVV : 키보드 입력 Keyboard 노드 / KeyMatch 노드 / Stack 노드 / Map 노드를 활용해 키보드 방향키에 의해 움직이는 원을 만들어보려고 한다. ▷Keyboard 노드 위처럼 keyboard 노드를 활용해 외부에서 입력되는 keyboard 값을 판별할 수 있다. Keyboard 노드의 두번째 아웃풋핀은 누른 키보드 값을 이름으로 나타내고, 4번째 아웃풋핀은 누른 키보드 값을 수치로 나타낸다. ▷KeyMatch 노드 KeyMatch 노드를 활용하면 Keyboard 노드에서 받은 키보드 값을 각각 개별 값으로 나눠서 판별할 수 있다. 위의 예시에서는 KeyMatch 노드의 inspektor 값을 수정해 키보드 방향키 좌, 우, 위, 아래의 값에 순서대로 반응하는 KeyMatch 노드를 만들었다. 해당하는 .. 2021. 1. 21.
완전 초짜 VVVV : 마우스 좌표값과 상태 ▷Mouse(device desktop) vs Mouse(device window) 마우스 위치 값과 상태(좌,우 클릭 여부)를 나타내는 노드는 크게 2가지가 있다. Mouse(device desktop) 와 Mouse(device window) 이다. 비슷한 노드인데 차이는 한가지이다. 아래 데모영상을 보면 알 수 있듯이, **Mouse(device desktop)은 화면 전체를 기준으로 작동하고 / Mouse(device window)는 마우스가 renderer 위에 있을 때만 그 정보를 받아온다. 또 하나 중요한 것은 Mouse 노드의 두번째 출력핀은 마우스 커서의 x, y 좌표를 출력하는데, 마우스 좌표값은 두 쌍이기 때문에 unzip 노드로 x 좌표값과 y 좌표 값으로 나눠줘야 데이터로 활용하기.. 2021. 1. 20.
완전 초짜 VVVV : 속성을 조절하는 Inspektor ▷속성을 나타내는 INSPEKTOR 사용하려는 노드나 I/O박스를 상황에 맞게 조절하고 원하는대로 바꾸려면, 노드나 I/O박스의 속성을 나타내는 Inspektor를 바꾸어야 한다.(스펠링 틀린게 아니라 독일어라 저런거라고 한다^^;;) inspektor 창을 열기 위해선 CTRL + L을 누르고, 설정을 다 마친 후 창을 닫을 땐 CTRL + W를 누르면 된다. 처음엔 적응이 안되서 엄청 버벅거리는데, 적응이되면 어느덧 익숙하게 누르게 된다. ▷INSPEKTOR 활용 예: 노드의 인풋핀의 수 늘리기 실제 inspektor 활용의 예를 보자. 원래 *(곱하기)노드는 인풋핀이 2개이다. 하지만 이럴 경우 3자리수의 곱셈을 하려면 *(곱하기)노드를 2번을 써야 한다. 코딩의 핵심은 간결성이다. 같은 목표를 달.. 2021. 1. 19.