我试着进入一些基本的JavaFX游戏开发,我被一些圆数学弄糊涂了。
我有一个半径为50的圆(x:250,y:250)。
我的目标是根据鼠标的位置,在上面的圆周上画一个较小的圆圈。
我感到困惑的地方是坐标空间和它背后的三角网。
我的问题来自这样一个事实:屏幕上的X/Y空间不是以0,0为中心。但是屏幕的左上角是0,0,右下角是500,500。
我的计算是:
var xpos:Number = mouseEvent.getX();
var ypos:Number = mouseEvent.getY();
var center_pos_x:Number = 250;
var center_pos_y
我有一个画布,我使用jCanva ()创建带有事件的圆。
我希望每个圆将有文本(鼠标悬停事件)和id (点击事件)。问题是事件是动态的,"i“总是最后一个i (data.length),所以所有的圆圈都得到相同的值……我该怎么解决它呢?
for (i = 0; i < data.length; i++) {
var id = data[i][0];
var text = data[i][2];
$("#mapCanvas").drawArc({
下面有个密码。打印列表填写时间。当圆= 1000000时,输出为300 ms,当圆= 1000000*10时,输出约为7000 ms。但凭直觉,我预计应该是300 * 10。Scaladoc说,添加元素到列表是O(1)。它为什么表现得那样?
val random = new Random()
var ints: List[Int] = List()
val start = System.currentTimeMillis();
val circles = 1000000
for (i <- 1 to circles) {
ints = random.nextInt.signum
我想要找出一个圆的面积,一个洗衣机的面积,以及a和b的平方之和。当我运行这个函数时,我看到一个错误:TypeError:不支持的操作数输入-:'NoneType‘和'NoneType' --我也试图在areaWasher函数中使用areaCirc函数。
这是我的密码。
import math
def areaCirc (r):
(math.pi * (r ** 2))
print areaCirc(1) # should result in 3.14159265359
print areaCirc(3) # should result in 28.27433
我正在尝试检测、定位和拾取蓝色弹珠。我的项目的目标是一次只能探测一块大理石。为了进行检测,我使用了OpenCV中的HoughCircles函数。我想给我的代码给我的X和Y的位置只有第一个检测到的圆。 这是我用来做这个的代码: vector<Vec3f> circles;
HoughCircles(OutputImage, circles, HOUGH_GRADIENT, 1,
OutputImage.rows / rows, //change to detect circles that are closer to eachother
para1, pa
使用Java图形,我尝试画一个圆,在圆内画线,然后检查鼠标是否在圆内,并打印鼠标的位置。
我画的线超出了圆,当我在这些线的边界内单击时,但在圆外,它假设鼠标在圆内,因为我给x和y的限制实际上形成了一个正方形。
我怎样才能找到x和y的极限,使这些线不会超过圆圈,并且只有当鼠标在圆圈内时,它才会打印“里面”?
以下是我的代码
public class Circle extends JFrame implements MouseListener {
int x,y,i;
JLabel label =new JLabel();
public void SetLa
在一个2D游戏中,我试图在一个圆圈经过一个段后重新定位它。以图片为例,我需要重新定位圆,这样B就会成为圆上的切点。
我掌握的信息如下:
圆的x,y
圆半径
dirx,diry:圆周的方向
A与B之间的距离
我要做的是计算C点的坐标,然后B点的坐标,然后从AC (半径)中减去矢量AB,然后在-BC的后面放置x,y。
该算法存在一些问题,因为在此之后,中心与直线之间的正交距离永远不完全与半径相同。
Len = Sqrt( dirx^2 + diry^2 )
dx = dirx / Len
dy = diry / Len
// these should be coo
我有一个引导类的任务:使用matplotlib并打印圆内和圆外的点,其中x= (-1,1)和y= (-1,1)。使用不同的颜色。 这与我之前完成的一项任务有关: import math
import random
inne = 0
for i in range (15):
x1 = random.uniform(-1,1)
y1 = random.uniform(-1,1)
avstånd = math.sqrt((x1-0)2+(y1-0)2)
print(avstånd)
if avstånd <= 1:
inn