作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,我正在尝试用 C#/java 进行台球游戏。
开始
= 池后面提示(x,y)end
= 池提示的前面(x,y)圆圈
= 球列表 (x,y,r)因此,每次您移动鼠标时,我都会更新 start
、end
,然后循环遍历“circles”,检查它是否相交。那么这就是我的问题,我需要弄清楚如果我在交叉点击中球会发生什么(它会直接向上向下)。
我将如何做到这一点。我在谷歌上查看了一些例子,但只能找到他们用 vector 做的例子,这超出了我的想象......
我的第一个想法是获取台球杆的角度,并从圆中点画一条相同角度的线,但由于某种原因这是错误的。这可能是我的 GetEnd
函数
public Point GetEnd(Point start, double angle, int len)
{
double y = start.Y + (len * Math.Sin(angle));
double x = start.X + (len * Math.Cos(angle));
return new Point((int)x, (int)y);
}
最佳答案
我认为提示点与球移动方向之间的角度是:
Math.ASin(a/r)
其中a
是代表球杆的射线与球中心之间的最小距离,r
是球的半径。
通过最小化 lamda 的 a^2 = (Cue.Position+Cue.Direction*Lamda-Ball.Position)^2
,然后计算平方根,可以获得 a
该表达式的。
但是我懒得在没有 vector 的情况下重新表述该表达式。
关于c# - 台球/台球三角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4256833/
我有一个绕其 3 轴旋转的立方体,当 key[a] == true 时,它会向左旋转,就好像它正在滚动一样。将立方体向任何方向旋转 45 度,将其向后旋转 90 度,以获得继续的错觉。这将保持 3
我是一名优秀的程序员,十分优秀!