地球表面附近兩點之間距離、高低角和方位角的計算方法,VC++代碼實操!

書接上文,這篇文章介紹具體的VC++編程實現,代碼實操。任何一個算法,你必須將其編寫為代碼,運行結果正確,才算真正掌握了,否則都是似懂非懂,一知半解,下面先給出仿真結果的截圖,文末有整個項目程序文件的下載鏈接,下載后可以直接打開運行。

利用Visual studio 2012創建一個Win 32控制臺的應用程序項目,項目的名字為Rqeqb_project,創建好工程項目之后,利用類向導添加類:CElevation_Azimuth_Calculation,會同時生成頭文件Elevation_Azimuth_Calculation.h和源文件Elevation_Azimuth_Calculation.cpp,在類CElevation_Azimuth_Calculation里面定義如下的成員函數,

void Position_coordinate_transformation(double x_input,double y_input,double z_input, double BM0_source, double LambdaM0_source,

double hM0_source, double BM0_goal, double LambdaM0_goal, double hM0_goal, double &x_output,double &y_output,

double &z_output, double &R_output, double &Qb_out, double &Qe_out) ; //己知源點和目標點的經緯高,求源點地理坐標系中的物體在目標點地理坐標系中的坐標

void Geodetic_Coordinate_System_to_2000( double B_in, double lamda_in, double h_in, double P2000_out[3]); //大地坐標與2000地心直角坐標之間的轉換

void MAT_3mul(double A[3][3], double B[3][3], double C[3][3]); //A3*3乘以B3*3

void MAT_31mul(double A[3][3], double B[3], double C[3]); //A3*3乘以B3

void MAT_31add(double A[3],double B[3],double C[3]);

void MAT_31sub(double A[3], double B[3] , double C[3]);

void MAT_231_form(double psi, double theta, double gamma, double A[3][3]); //近程飛行器用的231轉序,先偏航,后俯仰再滾轉

程序的文件架構為,

?程序的界面如下,

頭文件Elevation_Azimuth_Calculation.h的代碼為,

#pragma once

#include <math.h>

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

#include <direct.h>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define pi 3.1415926536

#define rad2deg_GL 57.2957795

class CElevation_Azimuth_Calculation

{

public:

CElevation_Azimuth_Calculation(void);

void Position_coordinate_transformation(double x_input,double y_input,double z_input, double BM0_source, double LambdaM0_source,

double hM0_source, double BM0_goal, double LambdaM0_goal, double hM0_goal, double &x_output,double &y_output,

double &z_output, double &R_output, double &Qb_out, double &Qe_out) ; //己知源點和目標點的經緯高,求源點地理坐標系中的物體在目標點地理坐標系中的坐標

void Geodetic_Coordinate_System_to_2000( double B_in, double lamda_in, double h_in, double P2000_out[3]); //大地坐標與2000地心直角坐標之間的轉換

void MAT_3mul(double A[3][3], double B[3][3], double C[3][3]); //A3*3乘以B3*3

void MAT_31mul(double A[3][3], double B[3], double C[3]); //A3*3乘以B3

void MAT_31add(double A[3],double B[3],double C[3]);

void MAT_31sub(double A[3], double B[3] , double C[3]);

void MAT_231_form(double psi, double theta, double gamma, double A[3][3]); //近程飛行器用的231轉序,先偏航,后俯仰再滾轉

virtual ~CElevation_Azimuth_Calculation(void);

};

源文件Elevation_Azimuth_Calculation.cpp的代碼為,

余下的代碼請關注Wechat Public Platform“彈道制導控制業余愛好者”的文章:《地球表面附近兩點之間距離、高低角和方位角的計算方法,VC++代碼實操!》,里面有項目程序的下載鏈接,下載后程序可以直接在Visual studio 2012運行。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90504.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90504.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90504.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uniapp各大平臺導航組件

最近有個需求要點擊導航然后跳出各家導航軟件話不多出直接貼出代碼&#xff1a;這個可以作為組件引入<template><view><view class"nav" :style"{color: customColor}" click.stop"openMap">{{title}}</view><!-- 彈…

Access開發一鍵刪除Excel指定工作表

Hi&#xff0c;大家好&#xff01;又到了每周給大家更新的時間了&#xff0c;這周給大家講講excel的處理操作吧。在開始前&#xff0c;先給大家匯報一下我們框架的進度&#xff0c;最近兩周沒有直播&#xff0c;所以大家不太清楚目前的進度&#xff0c;框架目前就差權限了&…

無廣告終端安全產品推薦:打造純凈辦公環境的安全之選

在數字化辦公時代&#xff0c;終端安全防護是企業和個人不可忽視的重要環節。然而&#xff0c;許多傳統安全軟件往往伴隨著頻繁的廣告彈窗和推廣信息&#xff0c;不僅干擾正常工作&#xff0c;還可能成為潛在的安全隱患。本文將為您介紹幾款「無廣告、無捆綁」的終端產品&#…

使用UE5自帶節點InteriorCubemap制作假室內效果

Interior Mapping&#xff08;室內映射&#xff09;是一種用著色器方法模擬室內結構紋理的方式&#xff0c;避免了真實對室內場景建模造成的模型面數渲染開銷&#xff0c;在《蜘蛛俠》《城市天際線》等游戲中都采用了該技術。 UE自帶了節點InteriorCubemap&#xff08;Unity S…

基于單片機睡眠質量/睡眠枕頭設計

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目速選一覽表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目功能速覽 概述 隨著現代社會生活節奏的加快&#xff0c;睡眠質量問題日益受到人們的關注。本研究設計了一種基于…

Ajax第一天

AJAX概念&#xff1a;AJAX 是瀏覽器與服務器進行數據通信的技術&#xff08;把數據變活&#xff09;語法&#xff1a;1.引入 axios.js&#xff1a;https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js2.使用 axios 函數? 傳入配置對象? 再用 .then 回調函數接收結果&#…

AI大模型各類概念掃盲

以下內容整理自AI&#xff0c;進行一個概念掃盲&#xff1a;Prompt&#xff08;提示詞&#xff09; Prompt是用戶提供給AI模型的指令或問題&#xff0c;用于引導模型生成特定輸出。良好的Prompt設計能顯著提升模型的任務理解能力和響應質量&#xff0c;例如通過結構化提示&…

Linux系統編程——網絡

一、TCP/UDP 1、osi模型 物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層&#xff08;下層為上層提供服務&#xff09; 2、TCP/IP模型&#xff08;TCP/IP協議棧&#xff09; 應用層&#xff1a; HTTP&#xff08;超文本傳輸協議&#xff09;、FTP&#xff08;文件…

taro+pinia+小程序存儲配置持久化

主要通過taro的getStorageSync,setStorageSync實現配置持久化 // https://pinia.esm.dev/introduction.html import { defineStore } from pinia; import { CreditCardDateUtils } from /untils/compute; import { getStorageSync, setStorageSync } from "tarojs/taro&qu…

抖音小游戲好做嗎?

從0到1&#xff0c;教你打造爆款抖音小游戲隨著移動互聯網的發展&#xff0c;抖音小游戲憑借便捷即玩、流量龐大等優勢&#xff0c;成為游戲開發者的熱門選擇。想知道如何開發出一款吸睛又好玩的抖音小游戲嗎&#xff1f;下面就為你詳細介紹開發流程。一、前期規劃明確游戲類型…

Spring Boot 3核心技術面試指南:從遷移升級到云原生實戰,9輪技術攻防(含架構解析)

面試官&#xff1a;cc程序員&#xff0c;聊聊Spring Boot 3的那些事兒&#xff1f; 場景背景 互聯網大廠云原生架構部面試官老王&#xff0c;與自稱"Spring Boot骨灰粉"的cc程序員展開技術對決。 面試過程 第一輪&#xff1a;遷移升級 面試官&#xff1a;Spring Boot…

技術演進中的開發沉思-42 MFC系列:Components 與 ActiveX Controls

點擊程序啟動時&#xff0c;是不是看過有加載的畫面。在VC開發時&#xff0c;可使用 VC 的 Component Gallery&#xff0c;找到 Splash screen 組件&#xff0c;當時覺得組件就是給程序員的暖手寶。一、Component GalleryComponent Gallery 在 VC 里的位置很特別 —— 它藏在 “…

抽象類、接口、枚舉

第八天&#xff08;堅持&#xff09;抽象類1.什么是抽象類&#xff0c;作用特點。抽象類是面向對象編程中一種特殊的類&#xff0c;它不能被實例化&#xff0c;主要用于作為其他類的基類&#xff08;父類&#xff09;。抽象類的主要作用是定義公共結構和行為規范&#xff0c;同…

在Ubuntu上使用QEMU仿真運行ARM匯編

ARM匯編一般無法在PC上直接運行&#xff0c;因為ARM和x86架構是不一樣的。但是很多時候用ARM開發板是很不方便的&#xff0c;所以能不能直接在PC上仿真運行ARM匯編來練習呢&#xff1f;當然可以&#xff0c;那就是&#xff1a;使用QEMU來仿真。這篇文章我們就來演示下如何在Ubu…

【趣味解讀】淘寶登錄的前后端交互機制:Cookie-Session 如何保障你的賬戶安全?

在現代Web應用中&#xff0c;前后端交互是核心功能之一&#xff0c;而用戶認證又是其中最關鍵的部分。本文將以淘寶登錄為例&#xff0c;詳細解析基于Cookie-Session的前后端交互流程&#xff0c;幫助開發者理解這一常見的安全認證機制。生動理解一下什么是cookie和seesion我們…

貪心算法(基礎算法)

1.引言 ok啊&#xff0c;拖更這么長時間也是沒有壓力&#xff08;doge&#xff09; 不說啥&#xff0c;直接進入正題。 2.概念 這個貪心算法呢&#xff0c;看名字就知道&#xff0c;不就是每個步驟都挑最好的嘛&#xff0c;有啥難的。 這么說的話......其實確實&#xff0c…

簡單的mcp 服務示例

參考&#xff1a;https://www.bilibili.com/video/BV1nyVDzaE1x 編寫自己的tools.py #### tools.py from pathlib import Path import osbase_dir Path("./test")def read_file(name: str) -> str:"""Return file content. If not exist, return …

DeepSeek-R1+豆包迭代一次完成中國象棋游戲

DeepSeeek- R1生成的棋盤符合中國象棋風&#xff0c;單獨豆包無法畫好象棋棋盤。提示詞&#xff1a;使用html實現中國象棋游戲&#xff0c;要求支持人機對弈。等等&#xff0c;你需要實現完整版本。代碼如下&#xff08;電腦走棋不對&#xff09;&#xff1a;<!DOCTYPE html…

阿里通義千問Qwen3深夜升級:架構革新+性能碾壓

&#xff08;以下借助 DeepSeek-R1 & Grok3 輔助整理&#xff09; 北京時間2025年7月22日凌晨&#xff0c;阿里云通義千問團隊發布了Qwen3旗艦模型的最新更新——Qwen3-235B-A22B-Instruct-2507-FP8。這一更新不僅在性能上實現了突破&#xff0c;還標志著開源大模型技術架…

pip關于緩存的用法

pip cache info查看 pip 緩存的大小&#xff0c;運行示例 Package index page cache location (pip v23.3): c:\users\xxx\appdata\local\pip\cache\http-v2 Package index page cache location (older pips): c:\users\xxx\appdata\local\pip\cache\http Package index page c…