글 읽기에 앞서.
4월 9일자 pfx 인자 관련 글에서 잘못된 부분이 있어 수정본을 다시 씁니다.
잘못된 정보로 고통받으신 분들이 있다면 정말 죄송합니다.
처음 글에서 x,y,z축에 관한 부분과, 또 몇몇 설명 못한 인자에 대한 부가설명이 추가되었습니다.

예전에 제가 PFX데이터를 추출하는 법에 대해서 알려드렸는데요, 오늘은 그 데이터를 이용하는 법에 대해서 써볼까 합니다.

먼저 필요한 데이터를 추출해주세요.

사용자 삽입 이미지

아마 이러한 화면이 있을 것입니다.


앞으로 나올 단위들은 피트입니다. 알기쉽게 바꾸시려면, 각 단위에 *12를 해주세요.


1. sz_top/sz_bottom

앞의 대부분 열들은 무시해도 될 것들이며, 일단 sz_top, sz_bottom 부터 보도록 하겠습니다.

sz는 StrikeZone의 줄임말입니다. 즉, 탑은 해당 선수의 스트라이크 존 가장 위쪽, 바텀은 존 가장 아래쪽의 좌표를 나타낸다고 해두죠. 즉 두 값의 차이는, 해당 선수의 스트라이크존 상하 길이가 되겠습니다.


2. pfx

측정 거리는, 위에서 말한 원점에서 40피트 되는 지점부터, 홈플레이트에서 투수와 가장 가까운 모서리부분(원점에서 약 1.417피트) 까지로 정의합니다. 아마 측정 거리를 투수의 릴리즈포인트(원점에서 약 55피트지점)으로 넓혔다면, 편차가 두배가까이 될거라고 하는군요. 그리고 pfx_z값에서, 중력에 의한 꺼짐(공이 40피트를 움직이는 동안, 지면과 완전히 평행하게 이동하지는 않겠죠?)은 빠져있으며, 이 빠진 값은 Break라는 변수에서 다루기로 합니다. 즉 공에 작용하는 회전력과 중력은 break변수가 담당한다는 것이지요.

우리가 사용하는 pfx 값은 이 두개의 값을 합한 량을 통상적인 pfx 값으로 보고 분석을 하게 됩니다. 즉,

PFX = [(pfx_x)^2+(pfx_z)^2]^0.5

를 사용한다는 것이지요.

여기서, x,y,z축이 의미하는게 과연 무엇인가? 그게 가장 궁금하실 텐데요, 아래 그림을 보시면 가장 쉽게 이해하실수 있을거 같습니다.

사용자 삽입 이미지

x축은 포수의 중간에서 오른쪽으로 항하도록 설정되어있으며, y축은 포수를 원점으로 하여 투수에게로 가는 방향으로 설정되어 있고, Z축은 지면과 수직되는 방향으로 설정됩니다.
즉, 엄밀히 말해 투수가 던진 공은 스핀이 없다고 가정할 경우, y축과 평행하게 움직인다는 뜻이 됩니다.
축에서 보이듯이, pfx_x값이 0보다 크다면, 그 공은 포수의 오른쪽으로 휘는 움직임을 보였다는 것이며, 0보다 작다면 왼쪽으로 휘는 움직임을 보였다는 뜻입니다. 또 pfx_z값이 양수라면, 그 공은 중력에 의한 움직임보다 훨씬 적은 하강을 했다는 뜻이 되겠고, pfx_z값이 음수라면 그 공은 중력에 의한 통상적인 하강량보다 훨씬 더 많은 양을 움직였다는 뜻이 됩니다.

더 많이 하강했는데 왜 음수의 값을 보이는가?
축의 방향에 유의해 주시기 바랍니다. 축의 방향이 지면으로 들어가는 방향이 아니라, 지면에서 나오는 방향입니다. 즉, 더 많이 하강할수록 그 값은 0보다 작은 값이 될 것이란 이야기지요.

3. px, pz

이 값은, 스트라이크 존 근방에서 계산된 공의 위치입니다. 물론 단위는 피트입니다. 존 중앙을 0,0이라 잡으시고, 계산하시면 되겠습니다. 분포도를 그리신후에, 아직 감이 안오시는 분은 대략의 존을 그린 후에 그것을 게임데이 배터박스 화면에 투영시켜 보세요. 한결 나은 결과물이 탄생할 것입니다.

스트라이크 존은, 보통 좌우 -10~10, 상하로 18~40정도의 값을 잡아주시면 되겠습니다.

게임데이 배터박스에 투영시킨 예시를 보여드리지요.
사용자 삽입 이미지


4. x0, y0, z0,vx~vz, ax~az.

위의 세종류, 9가지 값은 우리에게 가장 중요한 정보를 주는 것들입니다.(여러분이 계산할 수 있으시다면)

이 세가지 값은 피트(ft)단위로 표시되며,. 다음 vx~vz는 ft/s(피트/초), 다음 ax~az는, 아마도 감이 오신분이 있으실거라 믿지만, 가속도 단위로 ft/s2로 표시됩니다., x(t)=x(0)+vx0*t+0.5*ax*t^2라는 식을 이용해서,  y(t), z(t)방향으로도 계산해 주어야 합니다. 주의할 것은, 위에서 투수의 릴리즈 포인트가 55피트라고말했지만, 여기서 y0의값은 50피트로 설정합니다. 50피트로 해주는 이유는, 홈플레이트에서 50피트 되는 지점에서 공의 초속(초기속도)를 측정하며, break값을 측정하기 시작하기 때문입니다.

초기 속도라는 값은, vx_02+vy_02+vz_02에 루트를 씌운 값이 되겠습니다.


5. break 값의 측정

먼저 축의 원점(x0,y0,z0)에서 공의 최종 측정지점인 y=1.417피트까지 직선을 긋습니다. 이 선은, 시작점과 끝점에서의 직선궤적을 결정하게 됩니다. 이 직선궤적은 후에 실제의 궤적과 비교를 하기 위해 만든 선임을 알아두세요. break_length는 가장 큰 편차를 나타내는 값이며, 인치(inch=2.54cm)단위로 기록되고, 직선궤적에서 측정된 값입니다. break_y는 가장 많은 편차를 나타낸 순간지점의 좌표를 홈플레이트에서의 거리로 나타낸 값입니다. break_angle은 우타자에게로 휘는 각도를 양수값으로 보며, break_angle이 0이라면, 소위 말하는 "막대기 직구"가 되겠습니다. 대부분의 공은 -50도에서 50도 사이의 값을 나타내며, 90도 보다 큰 값을 가지는 공은 이론적으로 존재하지 않습니다.
break_angle이 90도보다 크다면, 그 공은 위로 뜨고있는 공이기 때문입니다.
(실제 라이징 패스트볼은 없다는 소리지요.)
break_length의 x값과 z값을 찾고 싶으시다면 아래의 식을 사용하십시오.
break_x = break_length*sin(break_angle)
break_z = break_length*cos(break_angle)
(주의) 엑셀을 사용하고 싶으시다면, sin(radians(break_angle))을 이용해주세요.
주의하셔야 할 것은, pfx_x의 값과 break_x의 값은 서로 다른 부호를 띈다는 것입니다. 원래의 x축은 포수의 우측으로 향하는 방향이지만, break_angle의 기준방향이 그 반대방향이기 때문에, break_x의 값은 pfx_x와 정반대의 부호를 띄게 될 것입니다.

6. Confidence

기록원이 해당 자료에 대해 가지는 확신도를 나타내는 값이 아닌가 싶은데, 실제 필요는 없습니다. 어짜피 우리는 이 자료에 100%의존해야 하기 때문이지요.


7. 추출할수 있는 자료들

pfx+break값을 통해서 공의 무브먼트 추적을 할수가 있으며, 이를 통해 잘못 기록된 구질에 대한 부분도 약간은 찾아낼 수 있습니다.

px,pz의 값을 통해 공의 로케이션을 찾아낼 수가 있습니다.

start_speed 를 통해 통상적으로 우리가 아는 공의 구속을 알수가 있으며, 초속과 종속의 차이를 통해 소위 말하는 구위를 알아볼 수도 있습니다.(초속과 종속에 의한 차이가 어떻게 구위로 연결되는지는 제가 잘 모르는 관계로 저도 분석하지 않습니다.)


8. 맺음말

처음 썼던 글에서 조금더 추가하자는 생각이었습니다만, 제대로 된 데이터값을 알고보니 처음 쓴 글과는 전혀 다른 내용이 되어버리는군요. 먼저번 글을 읽으신 분들께 사죄의 말씀을....

쓰는 용도에 따라서 정말 무한한 가능성을 가진 데이터들입니다. 잘 쓰면 경기를 보지 않고도 이 투수에 대한 분석을 하면서 마치 한편의 경기를 다 보고 있는듯한 느낌을 받게 되지요.

px/pz 데이터를 순서별로 찍어서 플래시로 만들수만 있다면 나만의 게임데이를 생성할 수도 있겠습니다.

x,y,z축에 관한 정보가 아니라, 시간에 관한 함수들까지 들어있다는 걸 알고 나니, 정말 이제는 머리가 터질것 같습니다. -_-;

개인적으로는 시간이 허락한다면(아마 이번 여름은 되야겠지만), 매일매일 엑셀을 꺼내서 노가다를 하는것도 귀찮기도 하고 해서 주소를 넣으면 제가 필요로 하는 값들만 뽑아서 엑셀로 추출해 버리는 간단한 프로그램을 하나 만들어볼까 하고 있습니다.

해 보시면 알겠지만, 분석을 하려고 파고들수록 엄청난 글거리들이 있는관계로, 파고들다보면 몇시간이 쉽사리 가버립니다. 꽤나 중독성이 강하니 조심하시기 바랍니다.

Daum 블로거뉴스
블로거뉴스에서 이 포스트를 추천해주세요.
Posted by Randoll

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. seohunee
    2008/05/07 17:08
    댓글 주소 수정/삭제 댓글
    mlb gameday 보다가 잘 이해가 안되던 pfx/brk 개념

    정리해주신 내용도 제 머리론 잘 이해가 되지 않아서 끙끙(?) 앓으며 고민했습니다.
    특히 break개념이 잘 이해가 안되어 그림을 그려가며 제 나름대로 정리해 보았습니다.

    조잡하게 정리하긴 했지만 헷갈리는 다른 분들을 위해 도움이 되지는 않을까 싶은데요
    제가 보내 드리면 포스팅 해 주실 용의가 있으신지 여쭈어보고 싶습니다.

    사족으로...
    "파고들다보면 몇시간이 쉽사리 가버립니다. 꽤나 중독성이 강하니 조심하시기 바랍니다."
    (공감입니다 ㅜㅠ)

    seohunee(at)핫메일닷컴

    그럼 좋은 하루 되십시오

◀ PREV : [1] : ... [14] : [15] : [16] : [17] : [18] : [19] : [20] : [21] : [22] : ... [32] : NEXT ▶

BLOG main image
by Randoll

카테고리

Tribune (32)
Projections (3)
Daily (3)
PFX Analysis (19)
Translated Articles (3)
R's Comment (1)
Trades&Rumors (1)
Minors (0)
Chores (2)

글 보관함

Statistics Graph


믹시추적버튼-이 블로그의 인기글을 실시간 추적중입니다. 블로그코리아에 블UP하기 visitor stats
Total : 3065
Today : 67 Yesterday : 81
Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.