加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
A_calc.h 593 Bytes
一键复制 编辑 原始数据 按行查看 历史
SadLava 提交于 2022-05-08 17:08 . first update
inline float calcR(float x,float y) {
VECTOR3D a,b,c;
a.x=x-pX;
a.y=y-pY;
a.z=0;
b.x=0;
b.y=0;
b.z=0;
c.x=c.z=0;
c.y=1;
VECTOR3D ac,bc,cb;
ac=a-c;
bc=b-c;
cb=c-b;
float ans;
/*
* cos<A,B>=(ac+bd)/(根号a*a+b*b)(根号c*c+d*d)
* 两向量夹角余弦等于向量数量积除以两向量模的乘积
*/
if(a.x>b.x) {
ans=acos((ac.x * cb.x + ac.y * cb.y) / (sqrt(ac.x * ac.x + ac.y * ac.y) * sqrt(cb.x * cb.x + cb.y * cb.y)));
} else {
ans=acos((ac.x * cb.x + ac.y * cb.y) / (sqrt(ac.x * ac.x + ac.y * ac.y) * sqrt(cb.x * cb.x + cb.y * cb.y)))*-1;
}
return ans;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化