标签: smooth

OpenGL平滑多边形

我试图使用OpenGL使其成为一个光滑的多边形,但它没有做任何事情.有人可以解释一下我做错了什么吗?

glColor4ub(r, g, b, a);

glEnable(GL_POLYGON_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);

glBegin(GL_QUADS);
        glVertex2i(x, y);
        glVertex2i(x1, y1);
        glVertex2i(x2, y2);
        glVertex2i(x3, y3);
glEnd();

glDisable(GL_POLYGON_SMOOTH);
glHint(GL_POLYGON_SMOOTH_HINT, GL_DONT_CARE);
Run Code Online (Sandbox Code Playgroud)

提前致谢!

c++ opengl smooth polygons

4
推荐指数
1
解决办法
2914
查看次数

C#平滑物体运动

我有所有必要的代码移动并通过C#代码单击鼠标,但我不想只将鼠标位置设置为XY; 那看起来很生涩.相反,我希望在Z秒内从一个点X1, Y1到另一个点平滑过渡X2, Y2.与keyframing类似.

我正在寻找类似于此的方法:

public void TransitionMouse(int x, int y, double durationInSecs)
Run Code Online (Sandbox Code Playgroud)

它只是将顺利从当前位置移动鼠标,xydurationInSecs秒.我有一个叫做的函数:

public void MoveMouse(int x, int y)
Run Code Online (Sandbox Code Playgroud)

这将鼠标移动到x,y马上.


编辑

谢谢你的帮助!这是完成的,经过测试的代码:

    [DllImport("user32.dll")]
    static extern bool SetCursorPos(int X, int Y);

    public void TransitionMouseTo(double x, double y, double durationSecs)
    {
        double frames = durationSecs*100;

        PointF vector = new PointF();
        PointF mousePos = Cursor.Position;

        vector.X = (float)((x - mousePos.X) / frames);
        vector.Y = …
Run Code Online (Sandbox Code Playgroud)

c# transition smooth keyframe

4
推荐指数
1
解决办法
6844
查看次数

在gnuplot中包含数据点

数据如下:

38 52.26
41 46.34
42 49.49
Run Code Online (Sandbox Code Playgroud)

使用smooth线条; 我可以在图表行中包含这些点而无需绘制两次吗?

现在我使用:

plot "foo.dat" using ($0):2 smooth csplines title "foo", \
               '' using ($0):2 with points title ""
Run Code Online (Sandbox Code Playgroud)

示例图

扩展的简化数据集:

38     52.26
39     46.34
42     57.29
43     60.41
44     53.57
45     51.49
46     48.24
49     58.50
50     56.85
51     55.56
52     62.81
54     51.76
55     46.94
56     46.35
57     52.76
59     49.49
62     51.78
63     48.24
65     54.46
66     50.00
Run Code Online (Sandbox Code Playgroud)

plot smooth gnuplot

4
推荐指数
1
解决办法
2万
查看次数

如何在ggplot2中绘制加权黄土平滑?

如何添加将另一列视为权重的黄土平滑?

假设我有以下data.frame:

    library(ggplot2)

    df <- data.frame(x=seq(1:21))
    df$y <- df$x*0.3 + 10
    df$weight <- 10

    df[6,] <- c(6, 0.1, 1)
    df[7,] <- c(7, 0.1, 1)

    df[13,] <- c(13, 0.1, 1)
    df[14,] <- c(14, 0.1, 1)

    df[20,] <- c(20, 0.1, 1)
    df[21,] <- c(21, 0.1, 1)

    ggplot(data=df, aes(x=x, y=y, size=weight)) + geom_point() + geom_smooth(method=loess, legend=FALSE)
Run Code Online (Sandbox Code Playgroud)

绘制黄土平滑表示以下内容:

没有重量的黄土平滑

但是我想使用柱子重量使得黄土与每个重量为10的点相同10倍是相同的:

    df2 <- subset(df, !(x %in% c(6,7,13,14,20,21)))
    df2$weight <- 1

    df3 <- df2
    for(i in seq(1:9)){
      df3 <- rbind(df3, df2)
    }
    df3 <- rbind(df3, c(6, 0.1, …
Run Code Online (Sandbox Code Playgroud)

r smooth ggplot2 loess

4
推荐指数
1
解决办法
6933
查看次数

游戏中流畅的动画

如何创建"平滑"动画?我正在开发一款关于android的游戏.我知道做平滑动画的默认方式不是最好的:

perFrame() {
    time = highrestime();
    frameTime = time - lastTime;
    lastTime = time;

    // now you could use frameTime as delta. this will lead to not real
    // smooth animations
}
Run Code Online (Sandbox Code Playgroud)

我读了一些关于这个主题的文件.特别是如果你使用物理模拟.着名文章似乎是这样的:http://gafferongames.com/game-physics/fix-your-timestep/ 我创建了一个基本类,如下所示:

public class TimeSystem {
private long mCurrentTime;
private long mAccumulator;
private Simulation mSimulation; 
private Renderer mRenderer;

private static float mSimulationDelta = 1000f / 60f;

public TimeSystem(Simulation simulation, Renderer renderer) {
    mCurrentTime = System.currentTimeMillis();
    mAccumulator = 0;

    mSimulation = simulation;
    mRenderer = renderer;
} …
Run Code Online (Sandbox Code Playgroud)

animation frame-rate smooth

3
推荐指数
1
解决办法
2469
查看次数

在JavaScript中使用Canvas平滑keydown动画

我是编程的新手,我正在尝试创建一些代码,允许我通过按箭头键在Canvas周围移动一个方块.我能够让广场移动,但它的动作不是很平滑.我让它一次以10像素的增量移动,所以我理解为什么它会感觉有点生涩,因为10帧差异的每个位置之间没有任何动画,但让它以较小的增量移动会使它远太慢了.到目前为止我所做的工作如下:

window.onload = function init() {
    var canvas = document.getElementById("canvas");
    var ctx = canvas.getContext("2d");
    setInterval(gameLoop,50);
    window.addEventListener('keydown',whatKey,true);
}

avatarX = 400
avatarY = 300

function gameLoop() {
    var canvas = document.getElementById("canvas");
    var ctx = canvas.getContext("2d");
    canvas.width = 800
    canvas.height = 600
    ctx.fillRect(avatarX,avatarY,50,50);
}

function whatKey(e) {
    switch(e.keyCode) {
    case 37:
        avatarX = avatarX - 10;
        break;
    case 39:
        avatarX = avatarX + 10;
        break;
    case 40:
        avatarY = avatarY + 10;
        break;
    case 38:
        avatarY = avatarY - 10;
        break;
    } …
Run Code Online (Sandbox Code Playgroud)

javascript animation canvas smooth keydown

3
推荐指数
1
解决办法
4737
查看次数

从矩阵平滑曲面图

我试图平滑一个11×8矩阵,我似乎无法找到一种方法来做到这一点.我知道这有几个主题,但没有一个对我的情况有所帮助.我发现的每种方法都需要某种z~x*y方法.在我的情况下,我只有一个矩阵,我想简单地平滑所有单元格条目,以使表面更平滑.

m
       [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]      [,8]
[1,] 29.02530 28.57123 39.02334 38.25483 29.59624 65.01706 41.04771  98.62005
[2,] 24.46539 24.08265 32.89272 32.24494 24.94663 54.80279 34.59906  83.12670
[3,] 28.30679 27.86395 38.05733 37.30784 28.86359 63.40758 40.03159  96.17873
[4,] 24.99883 24.60774 33.60991 32.94800 25.49056 55.99770 35.35345  84.93918
[5,] 24.63308 24.24771 33.11817 32.46595 25.11761 55.17842 34.83621  83.69646
[6,] 29.85776 29.39066 40.14254 39.35199 30.44506 66.88177 42.22497 101.44850
[7,] 18.54275 18.25267 24.92998 24.43901 18.90749 41.53601 26.22324  63.00320
[8,] 24.43846 24.05615 32.85652 32.20945 24.91917 54.74248 …
Run Code Online (Sandbox Code Playgroud)

r smooth matrix spline

3
推荐指数
1
解决办法
3538
查看次数

切割图像后如何消除边缘边界的误差?

我正在制作一个具有6步算法的图像处理项目,我陷入其中之一.

首先,我使用的平台是MATLAB,所以如果你能提供一些样品,它会很棒.但如果您不想编写代码示例,请给我一些提示,技巧等.

让我解释一下我的问题.我已经对.jpg图像进行了细分,并删除了一些区域.然后我使用掩码将结果保存为.png.结果是这样的(黑色部分实际上是透明的,我把它变成黑色以便更好地看到问题);

在此输入图像描述

正如您在图片中看到的,有一些不相关的区域.我需要摆脱这些无关紧要的领域.因为我希望前景尽可能顺畅.乍一看,我将高斯模糊应用于蒙版并再次将图像保存为.png.但结果并不像你想象的那样令人满意.我认为这种情况需要比我尝试过的更可靠的解决方案.

编辑1:我使用光谱消光.但它没有帮助.我能收到的最好结果就是这样;

在此输入图像描述

正如你所看到的那样,脸上有一些问题,而且图片的底部有很多问题.我想我上面的第一张图片需要一种边缘修复器或边缘平滑器,它应该比消光更快.

任何MATLAB代码示例,技术和方法都会很棒.如果您需要进一步解释,请随时提出.

matlab smooth image-processing edge-detection image-segmentation

3
推荐指数
1
解决办法
295
查看次数

如何使用Matplotlib从灰度图像创建表面图?

假设我有一个灰度图像(大小:550x150像素).我用matplolib加载图像

import matplotlib.pyplot as plt
import matplotlib.image as mp_img
image = mp_img.imread("my-cat.png")
plt.imshow(image)
plt.show()
Run Code Online (Sandbox Code Playgroud)

现在,plt.imshow在屏幕上显示图像.但我想要的是灰度值的表面图,如下所示:

.Colour并不是必需品,但它对高度线有帮助.我知道,我需要一个表单函数f(x,y) -> z来创建表面图.所以,我想(x_pixel,y_pixel)在我的图像中使用灰度值来获取值f.这导致了我的问题:

  • 我想在绘图期间对我的图像值进行一些插值(例如平滑).这还取决于我的meshgrid的大小,所以我该如何控制它?和,
  • 如何从我的图像中制作灰度值的曲面图?

python plot smooth matplotlib

3
推荐指数
1
解决办法
8302
查看次数

苹果网站视差效果

我最近看到了苹果展示 iPhone 6S 的“设计”页面。他们对每部 iPhone 都使用了“视差效果”。我知道已经有现有的视差插件可用,但 Apple 具有甚至可以与“生涩”鼠标旋钮配合使用的平滑效果。我真的很想模仿那种效果。

这是Apple iPhone 6S / Design的链接

iphone scroll smooth parallax web

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