bresenham

    0热度

    1回答

    我目前已经为我正在开发的基于图块的世界编辑器实现了Bresenham线条算法。对于移位 + 点击功能,我想渲染一个基于瓦片集的选择矩形的线。这很简单,因为我可以使用该算法找到从point1到point2的线上的点并在每个点处绘制选择。 与此相关的问题是,当选择矩形大于一个图块时,点重叠。结果如下所示。 我的问题是给定一个行中的所有点,和选择的尺寸,我怎么能得到这样的结果呢?请注意,我想在选择过去p

    1热度

    1回答

    有关FTP连接/断开的更好方法是什么?建议在每次文件交易后断开连接? 例如:我想从服务器B从服务器检索A 2个文件和1个文件,在本地操纵它们在我的电脑上,并将其上传到服务器C. CONNECT to A -> retrieve File 1 -> DISCONNECT CONNECT to C -> store File 1 -> DISCONNECT CONNECT to A -> retr

    5热度

    2回答

    对于碰撞测试,我需要栅格化一条线。布氏算法的工作原理几乎一样需要,但就是缺陷产生一行: 我需要: 我目前的执行(基于http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm#Simplification): public boolean isInsideLine(int x1, int y1, int x2, int y2) {

    2热度

    2回答

    使用Midpoint circle algorithm您可以绘制对称的圆形,只访问一次像素。由于算法的性质,它只能绘制奇数直径(2 * r + 1)的圆。是否可以扩展此算法,以便它可以成功绘制直径为,甚至是像素数的圆? 对算法的一些要求: 像素必须制定一次。 RAM非常昂贵。 如果中点画圆算法确实不能被修改,以处理这个问题,那么下面的解决办法是罚款: void DrawCircle(int x,

    1热度

    1回答

    我正在制作第一人称3D游戏。水平是完全立方体的,墙壁/地板/等都只是平铺立方体(1x1x1)。 我正在使用相机位置和相机的旋转来获取方向。我想要将光线投射到非空的第一个立方体上(或者当射线从网格上脱落时)。通常,这些是方向向量,如0,0,1或1,0,0。 我没有太多的运气找到Bresenham线绘制算法,它与方向矢量而不是起点/终点一起工作。特别是考虑到方向矢量不会仅限于整数。 因此,对于一个特定

    3热度

    1回答

    我在我的模型上使用自定义类来提供图像上传,通过名为django-filebrowser的应用程序。 # myapp/models.py class Book(models.Model): name = models.CharField(max_length=30) image = FileBrowseField("Image", max_length=200, blank=T

    0热度

    2回答

    Bresenham的浮点算法中存在一些让我恼火的问题。 该算法如下: void line(x0, x1, y0, y1) { int deltax = x1 - x0; int deltay = y1 - y0; float error = 0; float deltaerr = Math.abs((float)deltay/(float)deltax);

    4热度

    5回答

    我使用中点圆算法(也称为Bresenham's)绘制同心圆。每个圆的半径与下一个圆的半径之差始终为1,所以最终结果应该是完整的圆形区域。 但是,有些像素留空,如附图所示。我使用Javascript绘制HTML5画布,操作canvas.getContext(“2d”).getImageData(...)。data数组。 圆圈是白色或红色,空白像素是黑色。您可能需要放大以查看我的意思是否正确。 我想添

    2热度

    1回答

    将Spring-WS用作SOAP客户端时,我很难将传入的错误转换为其特定的Java异常。 例如,如果我调用的Web服务操作可以返回一个ClientNotFoundFault并让我们说一个InvalidAmountFault,我可以让Spring-WS抛出一个ClientNotFoundException或一个InvalidAmountException? Spring-WS可以抛出与SoapFau

    0热度

    1回答

    我环顾了过去一个小时左右,但我找不到任何有关此问题的帮助。我试图将这个伪代码转换为java,并不知道我做错了什么(它曾经打印过任何东西)。 function line(x0, x1, y0, y1) boolean steep := abs(y1 - y0) > abs(x1 - x0) if steep then swap(x0, y0) swap(x