다시 나야. 내가 너희들을 얼마나 사랑하는지 언급 했니? 내 교수님은 파이썬을 사용해 보라고 이야기했지만, 지금까지는 그것을 싫어하지만 한 번 해보기로했습니다. 파이 게임 (pygame)을 사용하는 간단한 프로그램을 만들었습니다. 화면을 중심으로 거의 원을 움직이지 않습니다. 나는 수학 문제가있는 문제가있다. 각 원 (x, y) 좌표 (원의 중심)를주고 화면에서 움직이기 원하는 속도 (이동 당 거리)를 기준으로 이동 (Dx, Dy)을 계산했습니다. 이것은 내가 이동 방법에 대해 수행 한 것입니다 :Python 수학, 피타고라,도 및 좌표
def Move(self, speed):
Dx = self.qx * (speed * math.sin(math.degrees(90 - Alp)))
Dy = self.qy * (speed * math.sin(math.degrees(Alp)))
self.x += Dx
self.y += Dy
print "D = ", math.sqrt(Dx * Dx + Dy * Dy)
문제 : 나는이를 이용한 인쇄 문에 D (actaully 속도)를 계산 한 다음 DX를하고 Dy가이 Pythagorahs 정리를 사용 속도에 따라 계산하고 정리, 나는 입력 된 속도와 동일한 결과를 가져야한다. 하지만 결과는 다음과 같습니다.
D = 9.15180313227 (speed = 10)
결과가 다양하고 항상 동일하지는 않습니다. (임의의 값을 가진 테스트 방법이 있지만) 항상 비슷하지만 잘못되었습니다. 내가 뭘 놓치고 있니?
참고 : self.qy 및 self.qx을 무시, 그들은이 제대로 방향을 결정하는 데 사용되는 1 또는 -1
도노가 문제를 해결할 수 있다면 도와주세요. 그러나도에서 라디안으로 변환하려면'math.radians'을 사용해야합니다. 'math.sin'은 각도가 라디안 단위가 될 것으로 예상합니다. – M4rtini
이것은 당신의 질문에 대답하지 않지만'math.hypot()'함수가 있음을 주목하십시오. – martineau
@ M4rtini, 그게 문제였습니다,뿐만 아니라 대답에 대한 yoiu 감사 :) martineau, 나는 이것과 함께 가고 싶지 않아? –