안녕하세요.
슈퍼탱크(구 포트리스2) 거리 계산과 관련해 도움을 요청드립니다.
제가 가지고 있는 자료는
각도, 바람(R/L), 힘(Power), 발사 높이에 따른
포탄 낙하지점(거리) 실측 함수표입니다.예를 들어 61도의 경우,
같은 각도·같은 바람에서 높이만 다른 3개의 데이터가 있습니다.
바람은 다음과 같이 정의됩니다.
R = >> 방향으로 부는 바람
L = << 방향으로 부는 바람
그리고 R과 L은 바람값이 서로 다릅니다 (대칭이 아님)
핵심 질문은 다음입니다.
R의 경우 바람 값이 **3가지(0.2 / 10 / 19.7)**일 때,
원래는 각 바람마다 힘을 전부 쏴서 거리표를 만들어야 하는데,시간이 너무 오래걸려서
👉 이 3개 중 하나의 바람 데이터만으로
👉 전체의 거리 결과를
👉 같은 결과값으로 재현할 수 있는 구조가 가능한지가 궁금합니다.
참고로,
이 게임에는 동팁이라 불리는 특성이 있어
(예: 61도에서 힘 23/24, 31/32가 같은 거리)동팁 구조는 각도마다 서로 다릅니다.
정확한 물리 공식 구현이 목적은 아니며,
실측 데이터 기반으로 구조적으로 가능한지를 알고 싶습니다.
제가 엑셀이나 수식에는 익숙하지 않은 편이라,
만약 가능하시다면
👉 방향 제시뿐만 아니라 간단한 엑셀 형태로 만들어주시면
정말 큰 도움이 될 것 같습니다.
의견이나 조언만 주셔도 감사히 참고하겠습니다.
읽어주셔서 감사합니다.

음 365가 아니라서
일단 상식적인 것 부터
일단 포단 속도가 2배면 사거리는 4배가 늘어납니다.
두번째 바람의 영향은 비행거리에 비레하는데
속도가 2배면 바람의 영향도 2배 입니다.
실제로는 더 복잡하겠지만 일단 저 두가지 사실로 부터 시작하자구요
여기서 힘=속도 인지 모르겠습니다.
하지만 같은 속도에서는 바람의 영향도 같다는걸 근거로 식을 분석해 볼께요.
1. 힘이 같다면 바람의 영향도 같다.
같은 힘인 경우
상수값+바람값*비행시간(속도값)
비행시간이 동일하기 때문에 저걸 함수화 해서 파악할 수 있습니다.
이 가정에 따라 힘이 10일때 상수를 3과 2를 빼서 상수의 시작값을 잡고 거기서 부터 직접 피팅해 보면
0.55 일대 저 가정에 따라 가장 유사하게 나옵니다.
16.5(비행거리)+0.63*바람속도
이런 방정식이 얻어지고 대충 일치합니다.
이런 식으로 바운드리를 잡아가면 되지 않을까요?
두번째는 세로축은 비행거리고 이것은 속도의 제곱입니다.
힘 20 지점에서도 힘 10과 같은 방식으로 공식을 잡아 보면
56.2+1.84*바람속도 이런 함수로 추정하면 됩니다.
여기서 바람 속도의 상수비와 비행거리의 비가 3배가 되는걸 알 수 있습니다.
따라서 힘=속도가 아니라 오히려 F*L 이라는 쪽에 더 가깝다고 느껴지네요>
그럼 힘 40 일때
211.9+6.5*바람속도
이런 방정식이 유도 됩니다.
자 다시 힘 20일때랑 비교해 보면 이번엔 3.7배 바람값 상수는 3.53배라는 걸 알 수 있습니다.
따라서 저 해석은 힘이라는 값을 넣는다기 보단 에너지라는 값을 넣은 다음 보면 둘이 비슷합니다. 즉 힘 2배라는게 속도값이 아니라 바람값 3.5배가 되게 해주는 방식으로 접근해 주면 될 거 같아요.
저렇게 추정식으로 잡아가면 얼추 비슷하게 나올꺼 같아요. 원리는 모르지만
답변 감사합니다 . 그런데 제가 무지해서 혹시 엑셀 파일로 만들어주실수는 없을가요?
안녕하세요~

이렇게 이해했는데,
아래 템플릿을 한번 적용해보세요.
아후 이거 너무 좋고 귀중한거 같은데 죄송하게도 제가 엑셀 완전 초보라 어떻게 해야 하는지 잘 이해를 못하고 있는데 조금만 천천히 자세히 알려주시거나 아니면 예제파일 하나 주시면 더 감사하겟습니다 . 염치 없는 부탁 죄송합니다 . 아 그리고 한가지 더 질문이 있는데 혹시 만들어 주신 파일은 세가지의 바람 R 일경우 0.2 ,10 ,19.7 을 다 작성 해야 결과 값이 나오는것인지 궁금합니다 . 저는 시간 절약을 위해 위에 세개 바람중 하나만 작성해서 결과물을 얻고 싶습니다 . 그것이 가능할가요?
README를 살펴보시면,
나름대로 이해해서 접근한 방식을 알 수 있습니다.
1. 첨부한 데이터를 보면,
같은 바람에서
Power가 조금 바뀌어도 거리가 같아지는 동팁 구간이 존재하고
바람이 바뀌면
거리 곡선의 모양은 거의 유지됨을 알 수 있습니다.
대신 곡선이 좌우로 이동하는데,
이건 물리적으로
바람은 “거리 자체를 왜곡”하기보다는
“같은 곡선을 파워축에서 이동”시키는 효과라는 뜻일 수 있습니다.
그래서 델타P(ΔP)는
“거리 오프셋”이 아니라
파워 오프셋으로 정의하는 게 맞을 거 같습니다.
예를 들면,
ΔP > 0이면 바람 때문에 파워를 더 줘야 같은 거리이고
ΔP = 0이면 기준 바람과 동일하고
ΔP < 0이면 바람 덕에 파워를 덜 써도 같은 거리임을 알 수 있습니다.
즉,
ΔP = −2는
“기준 바람에서 파워를 2 낮춰도 같은 거리”
ΔP = +3은
“기준 바람보다 파워를 3 더 줘야 같은 거리”
를 나타냅니다.
따라서
ΔP는 "보정값"이지 "입력값"은 아닙니다.
이 파일에서 사용자는
방향
바람
파워
만 입력하고,
ΔP는
실측 데이터로부터 자동으로 계산됩니다,
Baseline_R과 Baseline_L 에 기준 바람에서의 실측 거리표를 입력하고,
AutoCal_R61_2F과 AutoCal_L61_2F에서
기준 바람 대비 "같은 거리"를 만드는 EqPower를 계산하여
각 Power별 ΔP 산출해서
해당 바람에 대한 Median ΔP 생성합니다.
이 데이터를 WindModel 시트의 붉은 셀에 입력하면,
WindModel은 해당 방향(R/L)에서
바람값에 따른 ΔP 변환을 추정하고,
그 결과가 자동으로 Inputs 시트의 ΔP(auto)에 반영합니다.
2. 그래서 수동으로 입력하는 부분은
붉은 색 셀인데,
WindModel시트와 Input 시트에 입력하면 됩니다.
Input시트에서
Direction(R/L)은 어느 방향 데이터(R인지 L인지)
Target Wind은 현재 바람값
Power는 쏠 파워
Mode는
INTERP: 보간(연속값)
SNAP: 동팁 반영(대표 파워로 스냅)
를 입력하면,
실측 거리표를 다시 만들 필요 없이
바람/방향/동팁 특성등을 모두 반영하여
최종적으로 Final Distance 를 얻을 수 있습니다~
수식을 조금 수정해서 다시 첨부합니다.
한번 연습해 보세요~
귀중한 자료 감사드립니다 . 그런데 궁금한것이 Calibrate R, L 어떤 값들을 넣어야 하는지 잘 이해가 안됩니다 . 그리고 이것을 쓰기위해서는 R의경우 0.2,10,19.7 을 모든 힘에서 실측해야 하는것인가요?알려주시면 감사하겟습니다 . 다른것들은 한번 연습해보고 궁금한점있다면 다시 문의 드리겟습니다. 너무 감사드립니다
1. Calibrate_R / L에는 모든 힘의 데이터를 넣는 것이 아니고
몇 개의 대표 파워에서 쏜 실측값만 넣는 시트로 ΔP를 추정하기 위한 샘플 실측 입력용 시트입니다.
Wind에는 쏜 바람값 (예: 0.2, 19.7 등)
Power는 실제로 쏜 파워
Observed Distance는 그때 나온 실측 거리
그리고 Baseline 바람(10 또는 10.5)은 넣을 필요가 없습니다. (이미 Baseline 시트에 있음)
2. R의 경우 0.2 / 10 / 19.7을 모든 힘에서 실측해야 할 필요는 없습니다.
baseline (기준 바람)은 한 번은 반드시 필요한데,
바람을 R은 10, L은 10.5
파워는 모든 파워에서 1번
이게 Baseline_R, Baseline_L 시트입니다.
그리고 다른 바람 (0.2, 19.7 등)은 모든 파워에서 쏠 필요 전혀 없는데,
각 바람당 3~4발이면 충분합니다.
바람 0.2에 쏠 파워를 13, 23, 33
바람 19.7에 쏠 파워를 14, 24, 34
이렇게 하면, 저파워 / 중파워 / 고파워 동팁 구간도 자연스럽게 포함되므로
총 6발로 ΔP들을 모아서 Median ΔP를 계산하면 됩니다.
3. 그래서 WindModel에는
예를 들면
R 방향에서
Wind ΔP
0.2 −4.01
10 0
19.7 +3.45
이 3개 숫자만 남습니다.
그리고 이걸로 바람 3, 7, 15, 18 같은 안 쏜 바람도 ΔP를 보간해서 추정할 수 있게 됩니다.
4. 즉, 이 방법은
"전체 거리표를 반복해서 만들기 위한 구조"가 아니라,
"기준 거리표 1개 + 최소 실측으로 바람 효과(ΔP)를 요약하는 구조"로 보시면 됩니다~
네 질문의 답변 감사드립니다 . 오늘은 제가 시간이 안되고 내일 말씀드린것처럼 한번 다시 시도 하겟습니다 . 혹시 잘 안되는 부분이 생기면 다시 질문드려보도록 할게요 바쁘신 와중에 신경써주셔서 너무너무 감사합니다
수메이리안님의 설명을 계속 읽고 수십번을 똑같이 해볼려고 해도 자꾸 오류가 생겨서 원하는 값이 안나오고 있네여 . 제가 너무 무지해서 그런거 같아요 . 그리고 참고적으로 Baseline 바람L은 (10.5가 아니라 11.2)입니다 . 혹시 가능하시면 제가 올린 파일로 정확하게 어디에 어떻게 적어야 하는 하는지 예시 파일로 주시면 안된가요 ? ㅜㅜ 너무 죄송한 부탁입니다. 수메리안님께서 힘들게 만들어주신걸 잘 쓰고 싶은데 맘처럼 안되니 괴롭네요 . 염치 불구하고 한번만 더 부탁드릴게요
글로 설명을 드리려니
대략 난감이네요^^
1. 위 파일의 데이터에서
기준바람을 R은 10, L은 11.2
Baseline_R, Baseline_L 시트에 복사해서 넣습니다.
2. 0.2 와 19.7 데이터는
Calibrate_R과 L 에 입력하여
Average ΔP 를 산출합니다.
3. 그 값을 WindModel 에 입력하여
Computed ΔP 를 구합니다.
4. 이 ΔP가 Inputs 시트의 ΔP(B8) 으로 들어와
Final Distance 를 산출하게 됩니다.
기준바람(Baseline)은 “전체 거리표”가 필요하지만,
나머지 바람은 “대표 샘플 몇 개”만으로 ΔP를 추정할 수 있지만,
가능하면,
AutoCal_R61_2F시트에서
Wind
Power
Observed Distance
데이터를 넣어
Median ΔP를 구해서 WindModel에 ΔP를 입력할 것을 권합니다.
이 시뮬레이션을 통해
기준 거리표 1개 + 최소 실측(ΔP) + 보간 모델(WindModel)로
바람이 바뀐 상황의 Final Distance를 예측해보는 것입니다.
설명이 너무
어려웠는지 모르겠습니다~
될때 까지 계속 해보겟습니다