当前位置: 首页 > 知识库问答 >
问题:

处理!正弦波

南宫正阳
2023-03-14

我试图在y有最高值时显示x位置。在if语句中,我试图将y值与120进行比较,但它似乎从来都不是真的,所以它没有使用文本函数显示我的x位置。我也试着取整y值,但结果仍然不是我想要的。有人能帮我吗?

float x = 0.0;
float y = 0.0;

void setup() {
    background(150);
    size(800,200);
    smooth();
    line(0,100,width,100);
}

void draw() {

    //background(255);

    x += 0.5;


    y =map (sin(x/20),-1,1,80,120) ;


    noStroke();
    fill(#BBFFDD);
    ellipse(x, y , 1, 1);


    if ( y < 119 && y > 118.94) {

        textSize(10);
        text(x,x-10,y+20);
    } 
    println("x =",x,"|","y =",y);
}

共有1个答案

唐景山
2023-03-14

我想我已经搞清楚你的问题了。当我运行你的代码时,它在几个地方打印出你的x值,但它并不是每次都这样打印。为了解决这个问题,我首先将x增加pi/4而不是0.5,以使它更有可能接近120。然后,我看了看y的值,最高的一个只有120以下的一个阴影。为了在这一点上打印出x值,我将if条件设置为以下,以便只捕获一个y值。我还添加了另一个if条件,以在这个sin函数的局部最大值处获得x的值:

if ( y >= 100 + 19.999) {  
    textSize(10);
    text(x,x-10,y+20);
}else if(y <= 100 - 19.999){
    textSize(10);
    text(x,x+10,y-10);
}

Edit:在查看了x和y的值之后,我发现将x递增pi/4会导致y的最小值和最大值分别为120和80,因此您可以检查这些值,如下所示:

if (y == 120) {
    textSize(10);
    text(x,x-10,y+20);
}else if(y == 80){
    textSize(10);
    text(x,x+10,y-10);
}
 类似资料:
  • 我试图从CodingBat做这个问题,但不明白为什么它不与输入字符串“你好!”工作。 这是我的代码,下面是我得到的结果。

  • 有没有办法轻松重置所有sino间谍的模拟和存根,这些模拟和存根将在每个块之前干净利落地与摩卡一起工作。 我知道沙箱是一个选项,但我不知道如何使用沙箱进行此操作

  • 我正在做一个项目,我想通过组合不同的正弦波来产生(简单的)声音。我使用的是arduino mkrZero,因为它内置了I2S接口,似乎有足够的处理能力来满足我的需求。 教程代码工作得很好,我从扬声器中得到了一个简单的方波音调。 现在我修改了生成正弦波的代码,有一个sin函数的查找表,使其足够快: 如果我稍微修改一下代码,然后写 而不是 一切都破裂了,扬声器发出的声音听起来像是可怕的尖叫 //阻塞

  • 本文向大家介绍python 图像处理画一个正弦函数代码实例,包括了python 图像处理画一个正弦函数代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python 图像处理画一个正弦函数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果为: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程

  • 本文向大家介绍批处理BAT实现正弦曲线和抛物线代码,包括了批处理BAT实现正弦曲线和抛物线代码的使用技巧和注意事项,需要的朋友参考一下 先奉上正弦曲线的: 根据悬崖之树的代码改造而成,可以说是真正的抛物线了。 函数解析式:f(x)=-x2-1

  • 我写了一个小函数,它给出了一个基于正弦波的值,当我在0到1之间放一个浮点数时。我用它在游戏中把东西弄得乱七八糟。 它很好用..但我想知道有没有一种数学方法来改变正弦波,这样我就可以让它在中间变得“陡峭”或“浅”?在下面的图中,蓝色曲线是正弦波,我想知道我是否可以让它更像绿线。