Javascript 如何在以正弦波模式移动的转盘中改变项目的位置

Javascript 如何在以正弦波模式移动的转盘中改变项目的位置,javascript,html,geometry,carousel,trigonometry,Javascript,Html,Geometry,Carousel,Trigonometry,如果问题陈述含糊不清,与我的实际问题不符,请道歉 我的代码: SettingPositions=功能(索引、x、y、角度){ const CarouselItems=document.getElementsByClassName(“Carousel_uu项”); 旋转木马[index].style=“变换:平移”(+x+“vw,+y+”%)旋转(“+angle+“deg”); } 常数位移=120, CircleCenterX=60, 循环肠=20, CircleRadiusX=CircleCe

如果问题陈述含糊不清,与我的实际问题不符,请道歉

我的代码:
SettingPositions=功能(索引、x、y、角度){
const CarouselItems=document.getElementsByClassName(“Carousel_uu项”);
旋转木马[index].style=“变换:平移”(+x+“vw,+y+”%)旋转(“+angle+“deg”);
}
常数位移=120,
CircleCenterX=60,
循环肠=20,
CircleRadiusX=CircleCenter,
CircleRadiusY=-30,
角度增加=Math.PI/位移,
最大旋转=30,
DoubleMaxRotation=60;
设角度=0;
对于(设点=0;点<位移;点++){
设x=CircleRadiusX*Math.cos(Math.PI-角度)+circlecentrex;
设y=CircleRadiusY*Math.sin(角度)+circlecentry;
//设rotate=-(Math.atan2(y-圈中心,x-圈中心)*DoubleMaxRotation/Math.PI)-MaxRotation;
旋转=0;
如果(点数===62){
控制台日志(x,y);
设置位置(0,-x,y,旋转);
}
否则如果(点数===45){
控制台日志(x,y);
设置位置(1,-x,y,旋转);
}
角度+=角度增加;
}
正文{
溢出:隐藏;
}
旋转木马{
位置:相对位置;
高度:100vh;
溢出:自动;
}  
.Carousel.Carousel\u视图{
显示器:flex;
宽度:150vw;
身高:100%;
位置:相对位置;
对齐项目:居中;
}  
.Carousel.Carousel\u视图。Carousel\u项目{
显示器:flex;
位置:绝对位置;
背景色:红色;
左:100vw;
宽度:25vw;
高度:20vw;
对齐项目:居中;
}

快速查看,对象沿椭圆圆周而不是圆旋转/移动,并且对象自身也以与主旋转相反的方向旋转,角度可能由您的正弦波调制。。。