gpt4 book ai didi

c++ - 正弦、余弦、弧度和旋转

转载 作者:行者123 更新时间:2023-11-28 00:45:50 28 4
gpt4 key购买 nike

<分区>

我正在编写一个程序,我必须在其中旋转 o 点。但是计算中有些地方不对。

旋转(Y轴)的函数:

point3 rotY(point3 a, float angle){
float x,z;
z=a.z*cos(angle)-a.x*sin(angle);
x=a.z*sin(angle)+a.x*cos(angle);
a.z=z;
a.x=x;
return a;
}

这是point3结构:

struct point3{
float x,y,z;
point3(){
x=y=z=0.0f;
}
point3(float a,float b,float c){
x=a;y=b;z=c;
}
};

调用代码:

point3 a(0.0f,l,0.0f);
a=rotX(a,S->angle*rad);
std::vector <point3> pocz(S->amount);
for(int i=0;i<S->amount;i++)
pocz[i]=rotY(a,(i*(360.0f/S->amount))*rad);

(i*(360.0f/S->amount))*rad 是如图所示的旋转 enter image description here

我知道例如当a.x=0.0fa.y=2.36880779a.z=2.36880779 我想将它旋转 180 度此函数将返回a.x=-2.07087751e-007a.y=2.36880779a.z=-2.36880779

但它应该返回 a.x=0.0a.y=2.36880779a.z=-2.36880779

这里有什么问题吗?

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com