측역 센서로 인터랙티브! (3)

측역 센서로 인터랙티브! (1)
측역 센서로 인터랙티브! (2) 의 계속입니다.

마지막까지, hokuyoChop에서 손가락을 잡은 위치의 좌표를 얻을 수있었습니다. 다만 이것은, hokuyoChop에서의 값이므로, 이것을 TouchDesigner의 화면의 -0.5
이런 때는 우선 실험적으로 데이터를 가져 가면 좋다.

Step1 원 배치



우선은, 투영한 화면상의 좌표를 정확하게 얻기 위해, 뭐든지 좋지만, 알기 쉽기 때문에 circleTop를 표시합니다.
circleTop을 작성하고 영상을 벽에 투영해 보세요. 원의 반경은 0.02 등 작게 하면 좋다.
원의 위치를 ​​어긋나면, -0.5

Step2 원의 좌표와 hokuyoChop 좌표의 취득



여기서, TouchDesigner의 화면상의 좌표는 X, Y, hokuyoChop에서 취득하는 좌표는 x, y로 합니다.
화면 중심(X,Y)=(0,0)일 때의 (x,y)를 이전에 작성한 constantChop의 값으로 확인합니다.
실제로 원의 위치도 맞추어 손가락을 꽂아 확인해 보세요.

그리고는, (X,Y)=(0.4,0.4),(0.25,0.25),(-0.25,-0.25),(-0.4,-0.4)등으로, 마찬가지로(x,y)를 가리키고 확인 합니다.

Step3 x-X와 y-Y의 산점도와 근사 직선 작성



여기에서는 Python이라도 좋지만 간단하게하기 위해 Excel에서 X, Y, x, y의 데이터를 입력하고 x-X와 y-Y로 2 개의 산포도를 사용해보십시오. 가능하면 근사 직선을 표시합니다.

요점은, x와 X, y와 Y의 대응 관계를 정식화해, x, y로부터 계산해 X, Y를 낼 수 있도록(듯이) 하려고 하는 것입니다. (식을 X=ax+b, Y=cy+d로 하여 각각 2개소의 값을 대입하여 연립방정식을 풀어도 괜찮습니다.)
그러면 식이 나오므로 이제 X, Y를 계산하는 코드를 Python으로 씁니다. 앞의 textDat에 쓴 Python 코드에 추가해 보겠습니다.


(참고) Python (numpy)으로 근사식을 계산하는 코드 예제 (Jupyter Notebook 사용)



Step4 X, Y 좌표 표시



X, Y도 앞의 constantChop에 추가합시다.

name2에 X, value0에 me.mod.text1.calpos()[2]
name3에 Y, value1에 me.mod.text1.calpos()[3]
이제 X, Y 좌표를 얻을 수 있었습니다. (빨간색은 손가락을 가리지 않을 때이며, 과연 표시된다.)
실제로 circleTop의 Center에 이 X, Y를 그림과 같이 넣어 봅시다.

이것으로 대체로, 손가락의 움직임에 추종해, 원이 움직일까라고 생각합니다.

계속...



여기까지 주면 이미 나머지는 콘텐츠군요.
다음은 1회째에 간단하게 소개한 인터랙티브 컨텐츠를 해설하고 싶습니다.

<제작 환경>
TouchDesigner099 COMMERCIAL 64-Bit Build 2019.10700
CPU Corei9 9900K
GPU Geforce RTX 2080Ti
Windows10

<∀RroWs>
HomePage

좋은 웹페이지 즐겨찾기