2D 발사체-속도 및 위치 벡터

벤 타 노스

주어진 각도와 속도로 발사체를 발사하고 각 시간 간격에서 속도 / 위치 벡터를 추적하고 표시하는 작은 물리 엔진을 만들고 있지만 프로그램에 몇 가지 문제가 있습니다.

프로그램을 실행할 때 반복되지 않고 위치 변수가 0으로 유지됩니다. 어딘가에 수학이 잘못되었다는 것을 알고 있습니다. 어디인지 모르겠습니다.

내 프로그램은 다음과 같습니다.

#include <iostream>

using namespace std;

#define PI 3.14159265359

struct vecVariables {

    float v = 0, a = -9.81;
    float posNew = 0, posOld = 0;
    float x, y;
    float theta = 45;   // our start angle is 45
    float u = 20;       // our start velocity is 20
};

int main() {

    int deltaT = 0.01;
    int test;

    vecVariables vars;      // creates an object for Variables to be used

    while (deltaT <= 1) {

        deltaT += 0.01;

        vars.v = vars.u + vars.a * deltaT;  // gets the velocity V
        vars.posNew = vars.posOld + vars.v * deltaT;    // gets position D

        vars.x = vars.u * cos(vars.theta *  PI / 180);
        vars.y = vars.u * sin(vars.theta*  PI / 180);

        cout << "velocity vec = [" << vars.x << " , " << vars.y << "]" << endl;  // velocity on x, y

        cout << "pos = "<< vars.posNew << endl;  // display position

        vars.posOld = vars.posNew; 

        getchar();
    }
}
티모시 채프먼

변경 int deltaT = 0.01;float deltaT = 0.01f;하거나 double deltaT = 0.01;. 무슨 일이 일어나고 있는지는 ".01"이 정수로 변환 될 때 잘려나가는 것입니다. 당신은 원하는 float또는 double사람들은 컴파일러에게 있기 때문에 정수가 아닌 값을 예상 할 수 있습니다. 지금은 정수 값을 기대하고 정수를 얻지 못하기 때문에 소수점 이하 모든 것을 제거하여 정수가되도록합니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

p5js에서 속도 및 위치 벡터를 사용하여 3D 방향 입자

분류에서Dev

std :: memcpy 및 2D 벡터에서 데이터 복사

분류에서Dev

2D 벡터의 하위 벡터

분류에서Dev

터치 위치 Android가있는 Unity 2D 개체 위치

분류에서Dev

Numpy 벡터화 및 속도 향상

분류에서Dev

짝수 및 홀수 벡터 위치

분류에서Dev

위치 (위도 및 경도) 및 SQLite 데이터베이스에 저장된 시간에서 속도 계산

분류에서Dev

std :: 벡터 위치에서 벡터 위치로 복사

분류에서Dev

기능 중요도를 위해 SVM의 가중치 벡터 및 로지스틱 회귀를 사용하는 방법은 무엇입니까?

분류에서Dev

첨자가 범위 내에 있어도 범위를 벗어난 2D 벡터 첨자

분류에서Dev

-> (화살표)를 사용하여 2D 벡터 반복 및 값 바꾸기 : C ++

분류에서Dev

발사체가 위치에 부딪 힐 2D 포물선 궤적 계산

분류에서Dev

R의 벡터 및 인덱스로의 2D 행렬

분류에서Dev

2D 벡터에 벡터 추가 및 마지막 벡터에 대한 참조 유지

분류에서Dev

Safari Mobile 및 개체 위치 속성

분류에서Dev

스위치 및 협상 된 속도

분류에서Dev

스위치 및 협상 된 속도

분류에서Dev

C ++의 기본 클래스 유형 2d 벡터의 하위 클래스 개체 푸시 백

분류에서Dev

마커 위치 객체가 위도 및 경도 속성 이름을 변경 한 이유

분류에서Dev

개체에서 2D 벡터를 인쇄 할 때 오류 발생

분류에서Dev

고밀도 벡터 배열 및 코사인 유사성

분류에서Dev

사용자 정의 색상 범위 및 정적 컬러 맵이있는 2D 색상 코딩 산점도

분류에서Dev

** double로 작동하도록 double의 2D 벡터 전달

분류에서Dev

MATLAB을 사용한 벡터 및 하위 요소의 순열

분류에서Dev

범위를 벗어나는 개체 포인터 및 개체의 벡터

분류에서Dev

객체와 일치하지 않는 함수 오류를 사용하여 2D 벡터를 함수에 전달

분류에서Dev

C ++에서 2D 벡터에 개체 추가

분류에서Dev

if 조건을 사용하여 1D 및 2D numpy 배열간에 계산을 벡터화하는 방법

분류에서Dev

pytorch를 사용한 2D 벡터화 함수

Related 관련 기사

  1. 1

    p5js에서 속도 및 위치 벡터를 사용하여 3D 방향 입자

  2. 2

    std :: memcpy 및 2D 벡터에서 데이터 복사

  3. 3

    2D 벡터의 하위 벡터

  4. 4

    터치 위치 Android가있는 Unity 2D 개체 위치

  5. 5

    Numpy 벡터화 및 속도 향상

  6. 6

    짝수 및 홀수 벡터 위치

  7. 7

    위치 (위도 및 경도) 및 SQLite 데이터베이스에 저장된 시간에서 속도 계산

  8. 8

    std :: 벡터 위치에서 벡터 위치로 복사

  9. 9

    기능 중요도를 위해 SVM의 가중치 벡터 및 로지스틱 회귀를 사용하는 방법은 무엇입니까?

  10. 10

    첨자가 범위 내에 있어도 범위를 벗어난 2D 벡터 첨자

  11. 11

    -> (화살표)를 사용하여 2D 벡터 반복 및 값 바꾸기 : C ++

  12. 12

    발사체가 위치에 부딪 힐 2D 포물선 궤적 계산

  13. 13

    R의 벡터 및 인덱스로의 2D 행렬

  14. 14

    2D 벡터에 벡터 추가 및 마지막 벡터에 대한 참조 유지

  15. 15

    Safari Mobile 및 개체 위치 속성

  16. 16

    스위치 및 협상 된 속도

  17. 17

    스위치 및 협상 된 속도

  18. 18

    C ++의 기본 클래스 유형 2d 벡터의 하위 클래스 개체 푸시 백

  19. 19

    마커 위치 객체가 위도 및 경도 속성 이름을 변경 한 이유

  20. 20

    개체에서 2D 벡터를 인쇄 할 때 오류 발생

  21. 21

    고밀도 벡터 배열 및 코사인 유사성

  22. 22

    사용자 정의 색상 범위 및 정적 컬러 맵이있는 2D 색상 코딩 산점도

  23. 23

    ** double로 작동하도록 double의 2D 벡터 전달

  24. 24

    MATLAB을 사용한 벡터 및 하위 요소의 순열

  25. 25

    범위를 벗어나는 개체 포인터 및 개체의 벡터

  26. 26

    객체와 일치하지 않는 함수 오류를 사용하여 2D 벡터를 함수에 전달

  27. 27

    C ++에서 2D 벡터에 개체 추가

  28. 28

    if 조건을 사용하여 1D 및 2D numpy 배열간에 계산을 벡터화하는 방법

  29. 29

    pytorch를 사용한 2D 벡터화 함수

뜨겁다태그

보관