다른 객체를 중심으로 원을 그리려고합니다. 너무 열심히, 나는 계산했다. 그러나 JS, 원을 따라가는 객체
var dx = this.x - this.parent.x,
dy = this.y - this.parent.y,
r = Math.atan2(dy, dx);
this.x = Math.sin(r) * this.speed + this.x;
this.y = (Math.cos(r) * this.speed * -1) + this.y;
이 코드를 실행
, 그것은 나타납니다 ... 아마 잘못된 공식을 사용하고 있지만 내가 대신해야하는 하나 확실하지 않다 ... 원 나선형입니다 밝혀 일하다. 각 프레임은 객체가 부모 객체 주위를 원호로 움직입니다.그러나 아크는 커지고 점점 커져 거리가 점점 커집니다.
나는 어떤 실수를하나요?
내가 변경 한 모든 변경 사항이 기본적으로 악화 된 이유를 설명합니다. 코드는 정확했지만 충분하지 않았습니다 ... 어떻게 변수가 내 것과 일치합니까? a는도 단위의 각도입니다. r 반경과 da 속도? – Johan
이런 종류의 반복 계산을 사용하면 수학적으로 충분히 정확하지 않을 수 있습니다. –
a는 라디안 단위의 각도, r은 반경, da는 각속도입니다. –