Link to home
Start Free TrialLog in
Avatar of DelphiUK
DelphiUKFlag for Denmark

asked on

Calculate TriangleWave


How to calculate a bipolar trianglewave and save the values in an array?

Is must be posible to change amplitude and freqency.
Avatar of Thommy
Flag of Germany image

A triangle wave is just a special linear type of a sinusoidal wave.

Here you get the function to calculate a bipolar triangular wave...
How Do I Plot a Triangular Sine Wave?

Principle of storing points in a dynamic array...
  TPointReal = record
     X: Real;
     Y: Real;

  TriangleWavePointArray = array of TPointReal;

  TriangleWavePoints: TriangleWavePointArray;

//initialze/clear array 

//for each coordinate pair to add
SetLength(TriangleWavePoints,High(TriangleWavePoints)+1);  //add a point

Open in new window

Now all you have to do is calculate X and Y values by implementing the triangle wave formula from above link...
Avatar of DelphiUK


I had try the above formula. And the problem is that if you change the freqency and amplitude then the height og the triangle Varies.
The amplitude IS the height on every graph I have seen.  I imagine that means you have some custom trait you want for your graph.  How would it show the amplitude without changing the height?  If you can explain this then we should be able to help you achieve the desired effect.
The problem is that if you use the following formula to draw a triangle wave (2/pi)*10*arcsin(sin(5x))   (amplitude: 10 - freqency: 5) you Will see that the amplitude varies over time. I need a triangle wave with a constant amplitude at all the time.
Avatar of developmentguru
Flag of United States of America image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Sorry for the waiting time I just want back from vacation.

developmentguru: U are right is was an illusion, the amplutide does not varying.