jjzjj

trigonometry

全部标签

javascript - Canvas 旋转星空场

我正在采用以下方法在屏幕上制作星空动画,但我被困在了下一部分。JSvarc=document.getElementById('stars'),ctx=c.getContext("2d"),t=0;//timec.width=300;c.height=300;varw=c.width,h=c.height,z=c.height,v=Math.PI;//angleofvision(functionanimate(){Math.seedrandom('bg');ctx.globalAlpha=1;for(vari=0;iHTMLCSScanvas{background:black;}JSFi

javascript - 如何在 javascript 中的圆周上生成随机点

我正在尝试编写一个函数,它会随机返回给定圆周周围的(x,y)坐标因此,如果我有一个点位于(0,0)(作为div的中心),我该如何编写一个函数来随机放置出现在圆圈外缘的其他实体。我只需要一个方程式,我知道它与计算中心到圆周边缘的距离有关,只是不知道如何计算它并将其随机化以使其看起来不错。 最佳答案 随便取一个Angular:varangle=Math.random()*Math.PI*2;然后x=Math.cos(angle)*radius;y=Math.sin(angle)*radius;完成。

javascript - 如何在 javascript 中的圆周上生成随机点

我正在尝试编写一个函数,它会随机返回给定圆周周围的(x,y)坐标因此,如果我有一个点位于(0,0)(作为div的中心),我该如何编写一个函数来随机放置出现在圆圈外缘的其他实体。我只需要一个方程式,我知道它与计算中心到圆周边缘的距离有关,只是不知道如何计算它并将其随机化以使其看起来不错。 最佳答案 随便取一个Angular:varangle=Math.random()*Math.PI*2;然后x=Math.cos(angle)*radius;y=Math.sin(angle)*radius;完成。

math - 如何在屏幕坐标上使用三角函数来计算点之间的角度

我正在开发一款游戏。该游戏是自上而下的实时游戏,并且必须具有寻路功能。我的游戏必须计算玩家当前位置与他们点击要前往的位置之间的角度。问题是,我使用的是屏幕坐标,如“x向右增加,y向底部增加”这是我在处理一些代码的地方packagemainimport("fmt""math")funcmain(){position1:=&Position{550,200}position2:=&Position{700,500}vector1:=CreatePathVector(position1,position2,50)fmt.Printf("position1:%v\nposition2:%v\n

math - 如何在屏幕坐标上使用三角函数来计算点之间的角度

我正在开发一款游戏。该游戏是自上而下的实时游戏,并且必须具有寻路功能。我的游戏必须计算玩家当前位置与他们点击要前往的位置之间的角度。问题是,我使用的是屏幕坐标,如“x向右增加,y向底部增加”这是我在处理一些代码的地方packagemainimport("fmt""math")funcmain(){position1:=&Position{550,200}position2:=&Position{700,500}vector1:=CreatePathVector(position1,position2,50)fmt.Printf("position1:%v\nposition2:%v\n

c++ - 两条线之间的内角

我有两条线:Line1和Line2。每条线由两个点(P1L1(x1,y1),P2L1(x2,y2)和P1L1(x1,y1),P2L3(x2,y3))定义.我想知道这两条线定义的内角。为此,我计算每条线与横坐标的角度:doubletheta1=atan(m1)*(180.0/PI);doubletheta2=atan(m2)*(180.0/PI);知道角度后我计算如下:doubleangle=abs(theta2-theta1);我遇到的问题或疑问是:有时我得到了正确的角度,但有时我得到了互补角(对我来说是外角)。我怎么知道什么时候减去180º知道内角?有没有更好的算法来做到这一点?因为

c++ - 两条线之间的内角

我有两条线:Line1和Line2。每条线由两个点(P1L1(x1,y1),P2L1(x2,y2)和P1L1(x1,y1),P2L3(x2,y3))定义.我想知道这两条线定义的内角。为此,我计算每条线与横坐标的角度:doubletheta1=atan(m1)*(180.0/PI);doubletheta2=atan(m2)*(180.0/PI);知道角度后我计算如下:doubleangle=abs(theta2-theta1);我遇到的问题或疑问是:有时我得到了正确的角度,但有时我得到了互补角(对我来说是外角)。我怎么知道什么时候减去180º知道内角?有没有更好的算法来做到这一点?因为

c++ - 确定角度是否位于其他两个角度之间

我试图弄清楚一个角度是否位于其他两个角度之间。我一直在尝试创建一个简单的函数来执行此操作,但我的任何技术都不适用于所有可能的角度值。您能帮我编辑我的函数以正确确定一个角度是否位于其他2个角度之间吗?在上图中;我使用绿点作为中心点,然后确定每条线与绿点的角度。然后我计算黑点到绿点的角度。我正在尝试检查黑点的角度是否在BETWEEN两条线的角度。注意:就我而言;如果两个角度之间的差以下代码应该可以工作,但对于这些(确实位于角度之间)失败:-is_angle_between(150,190,110)-is_angle_between(3,41,345)boolis_angle_between

c++ - 确定角度是否位于其他两个角度之间

我试图弄清楚一个角度是否位于其他两个角度之间。我一直在尝试创建一个简单的函数来执行此操作,但我的任何技术都不适用于所有可能的角度值。您能帮我编辑我的函数以正确确定一个角度是否位于其他2个角度之间吗?在上图中;我使用绿点作为中心点,然后确定每条线与绿点的角度。然后我计算黑点到绿点的角度。我正在尝试检查黑点的角度是否在BETWEEN两条线的角度。注意:就我而言;如果两个角度之间的差以下代码应该可以工作,但对于这些(确实位于角度之间)失败:-is_angle_between(150,190,110)-is_angle_between(3,41,345)boolis_angle_between

c++ - 为什么 std::sin() 和 std::cos() 比 sin() 和 cos() 慢?

测试代码:#include#includeconstintN=4096;constfloatPI=3.1415926535897932384626;floatcosine[N][N];floatsine[N][N];intmain(){printf("a\n");for(inti=0;i时间到了:$g++main.cc-omain$time./mainabreal0m1.406suser0m1.370ssys0m0.030s添加usingnamespacestd;后,时间为:$g++main.cc-omain$time./mainabreal0m8.743suser0m8.680ssy