| | |
| | | |
| | | for (int i = 0; i < carModel->pointNum; ++i) { |
| | | double qrx = carModel->carDesc[i].distance * sin(toRadians(carModel->carDesc[i].angle)); |
| | | double qry = carModel->carDesc[i].distance * cos(toRadians(carModel->carDesc[i].angle)) * cos(toRadians(pitch)); |
| | | double qry = |
| | | carModel->carDesc[i].distance * cos(toRadians(carModel->carDesc[i].angle)) * |
| | | cos(toRadians(pitch)); |
| | | |
| | | double projectDistance = sqrt(pow(qrx, 2) + pow(qry, 2)); |
| | | double projectAngle = toDegree(acos(qry / projectDistance)); |
| | |
| | | // double tx = projectDistance*sin(toRadians(azimuth)); |
| | | // double ty = projectDistance*cos(toRadians(azimuth)); |
| | | |
| | | carModel->carXY[i].X = projectDistance*sin(toRadians(azimuth)) * cos(toRadians(projectAngle)) - |
| | | projectDistance*cos(toRadians(azimuth)) * sin(toRadians(projectAngle)) + main_ant.X; |
| | | carModel->carXY[i].Y = projectDistance*sin(toRadians(azimuth)) * sin(toRadians(projectAngle)) + |
| | | projectDistance*cos(toRadians(azimuth)) * cos(toRadians(projectAngle)) + main_ant.Y; |
| | | carModel->carXY[i].X = |
| | | projectDistance * sin(toRadians(azimuth)) * cos(toRadians(projectAngle)) - |
| | | projectDistance * cos(toRadians(azimuth)) * sin(toRadians(projectAngle)) + |
| | | main_ant.X; |
| | | carModel->carXY[i].Y = |
| | | projectDistance * sin(toRadians(azimuth)) * sin(toRadians(projectAngle)) + |
| | | projectDistance * cos(toRadians(azimuth)) * cos(toRadians(projectAngle)) + |
| | | main_ant.Y; |
| | | } |
| | | } |
| | | |