我有以下算法,它可以在圆周上为我的程序中的碰撞事件生成多个点。 (就我所知,这完全有效。)
bool Collision_True = false;
for (int Angle = 0; Angle <= 359; Angle += 5)
{
int X = (CentreX + (Radius * Math.Cos(Angle));
int Y = (CentreY + (Radius * Math.Sin(Angle));
Point point = new Point(X, Y);
if (Collision_True == false)
{
Collision_True = Player_Collisions(point);
}
}
return Collision_True;
但是我想改变它,所以它只在圆圈的底部三分之一处生成点,我尝试更改for循环中的值,如下所示:
for (int Angle = 120; Angle <= 240; Angle += 5)
{
...
}
但是产生的点仍然在圆圈的整个圆周上,而不仅仅是底部的三分之一。
有什么想法吗?感谢。
答案 0 :(得分:0)
您需要转换为弧度
class Controller {
private $container;
public function __construct($container) {
$this->container = $container;
// those 3 lines works well :
$database = $this->container->get('db');
$lieux = $database->query('SELECT * FROM Lieu');
var_dump($lieux);
}
public function render(ResponseInterface $response, $file) {
$this->container->view->render($response, $file);
}
}