C++计算两个向量之间的三角函数值(sin,cos,tan)

//计算向量角度 void calculateVectorAngle(double dir1[3], double dir2[3], double* sinVal, double* cosVal, double* tanVal) { // 计算点积 double dotProduct = 0.0; for (int i = 0; i < 3; ++i) { dotProduct += dir1[i] * dir2[i]; } // 计算向量模长 double mag1 = 0.0; double mag2 = 0.0; for (int i = 0; i < 3; ++i) { mag1 += dir1[i] * dir1[i]; mag2 += dir2[i] * dir2[i]; } mag1 = std::sqrt(mag1); mag2 = std::sqrt(mag2); // 计算余弦值 double cosValue = dotProduct / (mag1 * mag2); // 处理浮点精度问题,确保cos值在[-1, 1]范围内 if (cosValue > 1.0) cosValue = 1.0; if (cosValue < -1.0) cosValue = -1.0; // 计算正弦值 double sinValue = std::sqrt(1.0 - cosValue * cosValue); // 计算正切值 double tanValue; if (std::abs(cosValue) < 1e-10) // 避免除以零 { tanValue = (cosValue >= 0) ? 1e10 : -1e10; // 使用一个大数表示无穷大 } else { tanValue = sinValue / cosValue; } // 确定角度的正确象限 // 计算叉积的z分量(用于确定角度方向) double crossZ = dir1[0] * dir2[1] - dir1[1] * dir2[0]; // 如果叉积的z分量为负,说明角度大于180度,正弦值应为负 if (crossZ < 0) { sinValue = -sinValue; // 正切值也需要相应调整 if (std::abs(cosValue) >= 1e-10) { tanValue = sinValue / cosValue; } } // 通过指针将结果赋值给输出参数 *sinVal = sinValue; *cosVal = cosValue; *tanVal = tanValue; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1131696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【互联网产品助理的成长之路(7)】需求中止的判断方法

核心价值评估方面&#xff0c;首先要确认用户痛点真实存在且未被伪需求掩盖&#xff0c;通过用户调研、数据埋点及竞品分析来验证其普遍性与严重性。同时&#xff0c;检查现有方案是否已覆盖需求或通过简单优化即可满足&#xff0c;避免重复造轮子现象的发生。成本效益分析中&a…

【毕业设计】基于python_CNN卷积神经网络对甜点识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

elf 格式 relocation 概念

author: hjjdebug date: 2026年 01月 08日 星期四 15:12:21 CST descrip: elf 格式 relocation 概念 文章目录1. 查看test 的重定位信息2. .rela.dyn 区与 .rela.plt 区的区别和联系3 概括动态绑定的过程4. 介绍 .rela 结构5. r_info 的type 有多少种?6. 补充: 节区表关于符号…

给wordpress网站的图片加alt标签

给wordpress网站的图片加alt标签的几种方法&#xff0c;在实际应用中可以根据自己的需求&#xff0c;调用最适合自己的。 直接输出文章标题(和原来一样&#xff0c;仅作占位&#xff0c;无特殊处理) alt"<?php echo esc_attr( get_the_title() ); ?>" 取“…

计算机深度学习毕设实战-基于python-CNN卷积神经网络对盆栽识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

计算机三级-嵌入式组-考点汇总-嵌入式系统软件

四、嵌入式系统软件1.硬件抽象层与板级支持包1-1. 硬件抽象层硬件抽象层(HAL)是在操作系统层与硬件之间设置的独立的接口软件层&#xff0c;是所有直接依赖于硬件的软件。对硬件进行抽象&#xff0c;使上层软件开发人员无须关心底层硬件的具体细节和差异&#xff0c;支持上层软…

【实战案例】火语言RPA获取下拉联想推荐词

一、案例概述 本案例基于火语言 RPA 可视化流程&#xff0c;实现淘宝首页搜索框下拉联想词的自动抓取&#xff0c;并将结果保存至本地文本文件。适用于快速适配各类带下拉联想词的网页场景。 二、实现逻辑 1、启动内置浏览器并访问淘宝首页&#xff1b; 2、处理页面登录弹窗&…

2026 年用什么 CMS 做网站更合适?一些实际对比思考

这几年做网站越来越明显的一个变化是&#xff1a; 建站本身已经不是难点&#xff0c;持续获取搜索流量才是核心问题。 到了 2026 年&#xff0c;选择 CMS 时&#xff0c;单纯“好不好用”已经不够了&#xff0c;更重要的是它是否有利于长期 SEO、内容规模化、以及多站点管理。…

【行业深度】2025中国酒店业法务数字化转型洞察报告:大型集团如何破解“规模负重”难题?

研究领域&#xff1a; 企业合规/法律科技/酒店管理核心案例&#xff1a; 某Top级连锁酒店集团 律杏法务云01. 核心摘要 (Executive Summary)在酒店行业加速连锁化、品牌多元化的今天&#xff0c;大型集团正面临“规模不经济”的法务治理陷阱。随着门店突破千家、万家&#xff…

华为OD技术面真题 - 计算机网络 - 2

文章目录介绍一下TCP和UDPTCPUDP什么时候选择UDP&#xff0c;什么时候选择TCP&#xff1f;TCP连接为什么要三次握手TCP为什么挥手为什么要分为四步基于TCP和UDP常见协议使用UDP传输数据的系统一定不可靠吗&#xff1f;TCP是如何保证可靠传输介绍一下TCP和UDP TCP TCP(Transmi…

计算机中的符号是什么意思?

author: hjjdebug date: 2026年 01月 08日 星期四 12:45:41 CST descrip: 计算机中的符号是什么意思? 文章目录 甲. 什么叫符号?0 下面是测试代码1 用 $ nm test 可列出其所有符号,非常简明2. 用 $ readelf -s test 有对符号更细致的描述.3. 用 $ readelf --dyn-syms test 会…

深度学习毕设选题推荐:基于python-CNN卷积神经网络对盆栽识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

导师严选8个AI论文写作软件,专科生搞定毕业论文+格式规范!

导师严选8个AI论文写作软件&#xff0c;专科生搞定毕业论文格式规范&#xff01; AI 工具助力论文写作&#xff0c;专科生也能轻松应对 在当今学术写作领域&#xff0c;AI 工具正逐步成为学生和科研工作者的得力助手。尤其是对于专科生而言&#xff0c;面对毕业论文的撰写压力&…

导师推荐9个一键生成论文工具,自考本科生轻松搞定毕业论文!

导师推荐9个一键生成论文工具&#xff0c;自考本科生轻松搞定毕业论文&#xff01; AI 工具助力论文写作&#xff0c;自考学生不再焦虑 在当前的学术环境中&#xff0c;越来越多的自考本科生开始借助 AI 工具来辅助完成毕业论文。这些工具不仅能够有效降低 AIGC 率&#xff0c;…

两句话理解 ElasticSearch 搜索引擎数据库的作用

一个有两千万商品的商品表&#xff0c;如何提高根据商品名关键字检索商品的效率&#xff0c;搜索引擎数据库 ElasticSearch 一、个人理解 在 MySQL 数据库中有一个商品表&#xff0c;表中有 2 千万个商品数据&#xff0c;现在要根据商品名称关键字&#xff0c;去查找相关的商品…

程序员必看:Docker+Dify+DeepSeek本地部署大模型+知识库完整教程(含实操,建议收藏)

本文详细介绍了如何使用Docker、Dify和DeepSeek搭建本地大模型系统。通过安装Docker环境&#xff0c;部署Dify平台&#xff0c;配置DeepSeek和bge-large模型&#xff0c;上传私有知识库&#xff0c;最终创建个性化AI助手。这种本地部署方式能让大模型学习个人专业知识&#xff…

SnapShot硬盘备份软件:一款小巧强大的德国军工级数据备份方案

在系统维护、数据迁移和灾难恢复场景中&#xff0c;一款可靠、快速的备份工具至关重要。与Acronis True Image、Ghost等大型商业软件不同&#xff0c;Drive SnapShot​ 以其“小而美”的设计哲学脱颖而出。它用极小的体积实现了专业级备份软件的核心功能&#xff0c;尤其适合技…

【干货收藏】RAG调优完整指南:从基础到GraphRAG,提升大模型回答准确率

文章详解RAG系统调优方法&#xff0c;包括知识库优化&#xff08;检索优化、知识沉淀、健康度检查&#xff09;、高级召回排序技术&#xff08;混合检索、重排序、查询扩展&#xff09;及GraphRAG解决复杂查询。提出三阶段进阶路径&#xff1a;起步期优化分词和混合检索&#x…

mysql的分区表

1.SQL表创建 下面以时间范围进行创建&#xff08;每月一个分区&#xff0c;表中创建了四个月的分区&#xff09; 创建&#xff1a;CREATE TABLE test_table ( id INT NOT NULL AUTO_INCREMENT, content VARCHAR(255), create_time DATETIME NOT NULL,PRIMARY KEY (id, creat…