递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1847|回复: 1
打印 上一主题 下一主题

[视窗] 求助,如何把火山的数组传进这个嵌入函数??

[复制链接]

111

主题

612

帖子

2174

积分

金牌会员

Rank: 6Rank: 6

积分
2174
QQ
跳转到指定楼层
楼主
发表于 2024-4-8 15:38:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

  1. #include <vector>
  2. #include <cmath>

  3. float calculateMostFrequentYawAngle(float Rx, float Ry, const std::vector<std::pair<float, float>>& monsterPositions, float angleRange = 25.0f)
  4. {
  5.     std::map<float, int> yawCounts;

  6.     for (const auto& pos : monsterPositions)
  7.     {
  8.         float dx = pos.first - Rx;
  9.         float dy = pos.second - Ry;
  10.         float yaw = std::atan2(dy, dx) * 180.0f / M_PI;

  11.         while (yaw < 0.0f)
  12.             yaw += 360.0f;
  13.         while (yaw >= 360.0f)
  14.             yaw -= 360.0f;

  15.         for (float yawInRange = yaw - angleRange; yawInRange <= yaw + angleRange; yawInRange++)
  16.         {
  17.             if (yawInRange < 0.0f)
  18.                 yawInRange += 360.0f;
  19.             else if (yawInRange >= 360.0f)
  20.                 yawInRange -= 360.0f;

  21.             yawCounts[yawInRange]++;
  22.         }
  23.     }

  24.     float mostFrequentYaw = 0.0f;
  25.     int maxCount = 0;
  26.     for (const auto& entry : yawCounts)
  27.     {
  28.         if (entry.second > maxCount)
  29.         {
  30.             mostFrequentYaw = entry.first;
  31.             maxCount = entry.second;
  32.         }
  33.     }

  34.     return mostFrequentYaw;
  35. }
复制代码



专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

26

主题

1899

帖子

6920

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6920
沙发
发表于 2024-4-8 15:51:54 | 只看该作者
用别名就行,以下代码基于PIV模块


<火山程序 类型 = "通常" 版本 = 1 />

类 monsterPosition <公开 基础类 = 标准键值对模板 @模板实现类 = "单精度小数, 单精度小数">

类 monsterPositions <公开 基础类 = PIV数值模板 @模板实现类 = "monsterPosition">
{

    #
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-23 20:55 , Processed in 0.084602 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表