한 지점을 중심으로 회전하면서 개체가 지속적으로 멀어짐

마티 프크

저는 Unity로 게임을 만들고 있으며 한 지점을 중심으로 회전하려면 적이 필요합니다. 나는 atan2를 사용하여 지점의 방향을 얻고 90도를 더한 다음 cos와 sin을 사용하여 위치를 변경합니다. 객체가 회전하지만 지점에서 더 멀어지면 p5js에서 이것을 시도하기로 결정했습니다. 그러나 동일한 문제가 발생합니다.
다음은 코드입니다.

let x = 100;
let y = 100;
let speed = 5

function setup() {
  createCanvas(400, 400);
  angleMode(DEGREES)
}

function draw() {
  background(220);
  let dir = atan2(y - height / 2, x - width / 2);
  x += cos(dir + 90) * speed;
  y += sin(dir + 90) * speed;
  rect(x, y, 20, 20);
  console.log(dir)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.2.0/p5.min.js"></script>

Rabbid76

[...] 그러나 지점에서 더 멀리 [...]

물론이야. 당신은 원을 그리며 움직이지 않습니다. 원의 접선을 따라 이동합니다. 접선의 각 단계는 원 중심으로부터의 거리를 증가시킵니다. 따라서 각 프레임에서 중심까지의 거리가 증가합니다.

원래 거리와 현재 거리의 비율로 거리 벡터를 조정하여 쉽게 확인할 수 있습니다.

let x = 100;
let y = 100;
let speed = 5
let dist;

function setup() {
    createCanvas(400, 400);
    angleMode(DEGREES)
    dist = sqrt(pow(y - height/2, 2) + pow(x - width/2, 2));
}

function draw() {
    background(220);
    let dir = atan2(y - height / 2, x - width / 2);
    x += cos(dir + 90) * speed;
    y += sin(dir + 90) * speed;
    
    let newDist = sqrt(pow(y - height/2, 2) + pow(x - width/2, 2));
    x = (x - width/2) * dist/newDist + width/2
    y = (y - height/2) * dist/newDist + height/2
    
    rect(x, y, 20, 20);
    console.log(dir)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.2.0/p5.min.js"></script>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Unity-Y 축을 중심으로 개체를 회전하면서지면을 향해 지속적으로 다른 회전을 설정합니다.

분류에서Dev

OpenGL 모델 매트릭스가 한 번 회전 한 후 원점을 중심으로 회전하지 않음

분류에서Dev

UIBezierPath는 원 자체, 신속 및 SpriteKit 내의 한 지점을 중심으로 회전합니다.

분류에서Dev

OpenGL에서 축을 중심으로 개체를 회전하면 개체의 크기가 변경됩니다.

분류에서Dev

Actionscript 3.0의 중심점을 중심으로 완벽한 회전

분류에서Dev

glm :: rotate를 사용하여 원점 이외의 점을 중심으로 개체를 회전하려면 어떻게해야합니까?

분류에서Dev

지점을 중심으로 그림 상자를 회전하려면 어떻게합니까?

분류에서Dev

RealityKit에서 하나의 축을 중심으로 개체를 어떻게 회전합니까?

분류에서Dev

Unity에서 3 인칭 시점에서 카메라가 플레이어를 중심으로 회전하도록하려면 어떻게해야합니까?

분류에서Dev

프로토콜을 따르는 두 개체가 참조 적으로 동일한 지 신속하게 확인

분류에서Dev

어떻게 기원의 점을 중심으로 라인을 회전 부분적으로 하는가? (막대기 그림 파를 만들기)

분류에서Dev

OpenGl에서 Y 축을 중심으로 지속적으로 회전하는 삼각형 만들기

분류에서Dev

지도 중앙에서 너무 멀리 떨어져 있으면지도 상자 마커가 사라짐

분류에서Dev

Android Java-postRotate가 중앙을 중심으로 회전하지 않습니까?

분류에서Dev

공통점을 중심으로 4 개의 선 회전

분류에서Dev

glMultMatrix를 사용하여 고정 된 점을 중심으로 객체 회전

분류에서Dev

개체를 중심으로 회전

분류에서Dev

다른 점을 중심으로 한 점 회전-잘못된 방향

분류에서Dev

다른 점을 중심으로 한 점 회전-잘못된 방향

분류에서Dev

컨테이너의 중심점을 중심으로 이미지 회전

분류에서Dev

비트 맵 중심이 아닌 지점을 중심으로 비트 맵 회전

분류에서Dev

OpenCV, 특정 지점을 중심으로 회전

분류에서Dev

쿼터니언을 사용하여 변환 된 객체의 로컬 좌표 축을 중심으로 회전하려면 어떻게해야합니까?

분류에서Dev

SKShapeNode 선을 하단 지점을 중심으로 회전하는 방법

분류에서Dev

SVN 한 지점에서 다른 지점으로 2 개의 새 파일을 추가하려면 어떻게해야합니까?

분류에서Dev

jQuery UI 아코디언을 확장 한 후 Google지도가 추가지도를 중심으로하지 않음

분류에서Dev

Qt 중심점을 중심으로 텍스트 회전

분류에서Dev

자체 중심을 중심으로 SCNText 노드 회전 (Swift-Scenekit)

분류에서Dev

한 지점에서 다른 지점으로 개체 이동

Related 관련 기사

  1. 1

    Unity-Y 축을 중심으로 개체를 회전하면서지면을 향해 지속적으로 다른 회전을 설정합니다.

  2. 2

    OpenGL 모델 매트릭스가 한 번 회전 한 후 원점을 중심으로 회전하지 않음

  3. 3

    UIBezierPath는 원 자체, 신속 및 SpriteKit 내의 한 지점을 중심으로 회전합니다.

  4. 4

    OpenGL에서 축을 중심으로 개체를 회전하면 개체의 크기가 변경됩니다.

  5. 5

    Actionscript 3.0의 중심점을 중심으로 완벽한 회전

  6. 6

    glm :: rotate를 사용하여 원점 이외의 점을 중심으로 개체를 회전하려면 어떻게해야합니까?

  7. 7

    지점을 중심으로 그림 상자를 회전하려면 어떻게합니까?

  8. 8

    RealityKit에서 하나의 축을 중심으로 개체를 어떻게 회전합니까?

  9. 9

    Unity에서 3 인칭 시점에서 카메라가 플레이어를 중심으로 회전하도록하려면 어떻게해야합니까?

  10. 10

    프로토콜을 따르는 두 개체가 참조 적으로 동일한 지 신속하게 확인

  11. 11

    어떻게 기원의 점을 중심으로 라인을 회전 부분적으로 하는가? (막대기 그림 파를 만들기)

  12. 12

    OpenGl에서 Y 축을 중심으로 지속적으로 회전하는 삼각형 만들기

  13. 13

    지도 중앙에서 너무 멀리 떨어져 있으면지도 상자 마커가 사라짐

  14. 14

    Android Java-postRotate가 중앙을 중심으로 회전하지 않습니까?

  15. 15

    공통점을 중심으로 4 개의 선 회전

  16. 16

    glMultMatrix를 사용하여 고정 된 점을 중심으로 객체 회전

  17. 17

    개체를 중심으로 회전

  18. 18

    다른 점을 중심으로 한 점 회전-잘못된 방향

  19. 19

    다른 점을 중심으로 한 점 회전-잘못된 방향

  20. 20

    컨테이너의 중심점을 중심으로 이미지 회전

  21. 21

    비트 맵 중심이 아닌 지점을 중심으로 비트 맵 회전

  22. 22

    OpenCV, 특정 지점을 중심으로 회전

  23. 23

    쿼터니언을 사용하여 변환 된 객체의 로컬 좌표 축을 중심으로 회전하려면 어떻게해야합니까?

  24. 24

    SKShapeNode 선을 하단 지점을 중심으로 회전하는 방법

  25. 25

    SVN 한 지점에서 다른 지점으로 2 개의 새 파일을 추가하려면 어떻게해야합니까?

  26. 26

    jQuery UI 아코디언을 확장 한 후 Google지도가 추가지도를 중심으로하지 않음

  27. 27

    Qt 중심점을 중심으로 텍스트 회전

  28. 28

    자체 중심을 중심으로 SCNText 노드 회전 (Swift-Scenekit)

  29. 29

    한 지점에서 다른 지점으로 개체 이동

뜨겁다태그

보관