news 2026/5/1 3:52:13

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/26 2:32:26

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

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

作者头像 李华
网站建设 2026/4/23 14:37:35

提示工程架构师:自动化测试框架助力突破技术瓶颈

提示工程的“质检流水线”:用自动化测试框架突破AI应用的技术瓶颈 关键词 提示工程(Prompt Engineering)、自动化测试框架、AI应用质量、Prompt有效性、测试用例生成、结果评估、持续集成(CI/CD) 摘要 当我们谈论AI应用的“可靠性”时,往往忽略了一个关键环节——提示…

作者头像 李华
网站建设 2026/4/18 4:17:27

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

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

作者头像 李华
网站建设 2026/4/26 17:14:43

深度学习毕设选题推荐:基于python_CNN卷积神经网络对甜点识别

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

作者头像 李华
网站建设 2026/4/25 9:27:58

mysql数据被误删的恢复方案

文章目录 一、使用备份恢复二、使用二进制日志&#xff08;Binary Log&#xff09;三、使用InnoDB表空间恢复四、使用第三方工具预防措施 数据误删是一个严重的数据库管理问题&#xff0c;但通过合理的备份策略和使用适当的恢复工具&#xff0c;可以有效地减少数据丢失的风险…

作者头像 李华
网站建设 2026/4/17 16:48:30

原来写英语论文涉及到这些问题都会被认定为学术不端啊!

近几年学术圈对于学术不端行为是严重的打压&#xff0c;无论是毕业论文还是小论文发表&#xff0c;只要出现了学术不端的行为&#xff0c;就将受到相应的惩罚。 同学们在写英文论文过程中&#xff0c;具体哪些行为属于学术不端行为呢&#xff1f; 主要表现有以下几个方面&…

作者头像 李华