标签: graphics

如何确定2D点是否在多边形内?

我正在尝试在多边形算法中创建一个快速 2D点,用于命中测试(例如Polygon.contains(p:Point)).对于有效技术的建议将不胜感激.

graphics performance polygon collision-detection point-in-polygon

473
推荐指数
15
解决办法
26万
查看次数

创建模糊叠加视图

在新iOS的音乐应用程序中,我们可以看到一个模糊背后的专辑封面.

如何才能完成这样的事情?我已经阅读了文档,但没有找到任何内容.

graphics filtering objective-c core-image ios

358
推荐指数
11
解决办法
25万
查看次数

球与球的碰撞 - 检测和处理

在Stack Overflow社区的帮助下,我写了一个非常基本但有趣的物理模拟器.

替代文字

单击并拖动鼠标以启动球.它会反弹并最终停在"地板"上.

我想要添加的下一个重要特征是球与球的碰撞.球的运动被分解为ax和y速度矢量.我有重力(每一步的y矢量小减少),我有摩擦(每次与墙碰撞的两个矢量的小减少).球真诚地以令人惊讶的逼真方式移动.

我想我的问题有两个部分:

  1. 检测球与球碰撞的最佳方法是什么?
    我是否只有一个O(n ^ 2)循环遍历每个球并检查每个其他球以查看它的半径是否重叠?
  2. 我用什么方程来处理球与球的碰撞?物理101
    它如何影响两个球的速度x/y向量?两个球进入的最终方向是什么?我如何将其应用于每个球?

替代文字

处理"墙壁"的碰撞检测和由此产生的矢量变化很容易,但我发现球 - 球碰撞的并发症更多.对于墙壁,我只需要采取适当的x或y向量的负数,然后关闭它将朝正确的方向前进.有球我认为不是这样.

一些快速澄清:为了简单起见,我现在可以完全弹性碰撞,现在我的所有球都具有相同的质量,但我将来可能会改变它.


编辑:我发现有用的资源

带矢量的2d球物理:无三角碰撞的二维碰撞.pdf
2d球碰撞检测示例:添加碰撞检测


成功!

我的球碰撞检测和响应工作很棒!

相关代码:

碰撞检测:

for (int i = 0; i < ballCount; i++)  
{  
    for (int j = i + 1; j < ballCount; j++)  
    {  
        if (balls[i].colliding(balls[j]))  
        {
            balls[i].resolveCollision(balls[j]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这将检查每个球之间的碰撞但跳过多余的检查(如果你必须检查球1是否与球2碰撞,那么你不需要检查球2是否与球1碰撞.此外,它会跳过检查是否与自身发生碰撞).

然后,在我的球类中,我有我的colliding()和resolveCollision()方法:

public boolean colliding(Ball ball)
{
    float xd = position.getX() - ball.position.getX();
    float yd = position.getY() - ball.position.getY();

    float sumRadius = getRadius() + ball.getRadius();
    float sqrRadius …
Run Code Online (Sandbox Code Playgroud)

language-agnostic graphics physics collision-detection

262
推荐指数
7
解决办法
18万
查看次数

如何在HTML中将一个图像放在另一个图像上?

我是rails编程的初学者,试图在页面上显示许多图像.有些图像要放在其他图像之上.为了简单起见,我想要一个蓝色正方形,蓝色正方形的右上角有一个红色正方形(但在角落里不紧).由于性能问题,我试图避免合成(使用ImageMagick和类似).

我只想将重叠的图像相对于彼此放置.

作为一个更难的例子,想象一下里程表放在一个更大的图像内.对于六位数字,我需要合成一百万个不同的图像,或者在运行中完成所有操作,其中所需要的只是将六个图像放在另一个图像的顶部.

html css graphics optimization

238
推荐指数
8
解决办法
71万
查看次数

如何生成类似于iOS 7模糊视图的效果?

我试图从Apple公开发布的iOS 7示例屏幕中复制这个模糊的背景:

iOS 7 Control Center截图

这个问题建议对以下内容应用CI过滤器,但这是一种完全不同的方法.很明显iOS 7没有捕获下面视图的内容,原因有很多:

  1. 进行一些粗略测试,捕获下面视图的屏幕截图并应用具有足够大半径的CIGaussianBlur滤镜来模仿iOS 7的模糊样式需要1-2秒,即使在模拟器上也是如此.
  2. iOS 7模糊视图能够模糊动态视图,例如视频或动画,没有明显的延迟.

任何人都可以假设他们可以使用什么框架来创建这种效果,并且是否可以使用当前的公共API创建类似的效果?

编辑:(来自评论)我们并不完全知道Apple是如何做到的,但我们可以做出任何基本的假设吗?我们可以假设他们正在使用硬件,对吧?

效果是否在每个视图中都是自包含的,这样效果实际上并不知道它背后的含义是什么?或者,必须根据模糊的工作原理,考虑模糊背后的内容?

如果效果背后的内容是相关的,我们可以假设Apple正在接收下面内容的"提要"并持续呈现它们模糊吗?

graphics transparency ios

218
推荐指数
10
解决办法
13万
查看次数

SurfaceView和View之间的区别?

什么时候有必要,或者更好地使用SurfaceView而不是View

graphics android 2d

207
推荐指数
6
解决办法
10万
查看次数

最缺乏使用的数据可视化

直方图和散点图是可视化数据和变量之间关系的好方法,但最近我一直想知道我缺少哪些可视化技术.您认为最不充分利用的情节是什么?

答案应该:

  1. 在实践中不常用.
  2. 没有大量的背景讨论,可以理解.
  3. 适用于许多常见情况.
  4. 包含可重现的代码以创建示例(最好在R中).链接的图像会很好.

graphics plot visualization r ggplot2

176
推荐指数
14
解决办法
3万
查看次数

GraphViz - 如何连接子图?

DOT语言中GraphViz,我试图表示一个依赖关系图.我需要能够在容器内部拥有节点,并且能够使节点和/或容器依赖于其他节点和/或容器.

subgraph用来代表我的容器.节点链接工作正常,但我无法弄清楚如何连接子图.

鉴于下面的程序,我需要能够连接cluster_1cluster_2使用箭头,但我尝试过的任何东西都会创建新节点而不是连接集群:

digraph G {

    graph [fontsize=10 fontname="Verdana"];
    node [shape=record fontsize=10 fontname="Verdana"];

    subgraph cluster_0 {
        node [style=filled];
        "Item 1" "Item 2";
        label = "Container A";
        color=blue;
    }

    subgraph cluster_1 {
        node [style=filled];
        "Item 3" "Item 4";
        label = "Container B";
        color=blue;
    }

    subgraph cluster_2 {
        node [style=filled];
        "Item 5" "Item 6";
        label = "Container C";
        color=blue;
    }

    // Renders fine
    "Item 1" -> "Item 2";
    "Item 2" -> "Item …
Run Code Online (Sandbox Code Playgroud)

graphics directed-graph dot graphviz subgraph

152
推荐指数
3
解决办法
8万
查看次数

检测两个矩形交叉的算法?

我正在寻找一种算法来检测两个矩形是否相交(一个是任意角度,另一个只有垂直/水平线).

测试一个角落是否在另一个ALMOST中.如果矩形形成十字形状,则失败.

避免使用线条的斜率似乎是一个好主意,这需要垂直线条的特殊情况.

algorithm math graphics geometry separating-axis-theorem

140
推荐指数
2
解决办法
9万
查看次数

PorterDuff.Mode在android图形中意味着什么.它做什么?

我想知道PorterDuff.Mode在android图形中的含义.

我知道这是一种转移模式.

我也知道,它有DST_IN,Multiply等属性.

graphics android porter-duff

140
推荐指数
2
解决办法
5万
查看次数