Urgente!! grafico de pulsos
Publicado por san (3 intervenciones) el 21/02/2003 00:47:47
Necesito saber como podría dibujar pulsos (unos y ceros), al final de cuentas cómo puedo graficar líneas?? soy principiante, disculpen
Valora esta pregunta


0
#include <SFML/Graphics.hpp>
#include <vector>
class PulseGraph {
private:
std::vector<int> pulses; // Vector para almacenar los pulsos (1s y 0s)
public:
PulseGraph(const std::vector<int>& data) : pulses(data) {}
void draw(sf::RenderWindow& window) {
float width = 20.0f; // Ancho de cada pulso
float height = 100.0f; // Altura máxima del pulso
float spacing = 10.0f; // Espaciado entre pulsos
for (size_t i = 0; i < pulses.size(); ++i) {
sf::RectangleShape pulse(sf::Vector2f(width, pulses[i] * height)); // Altura basada en el valor (1 o 0)
pulse.setPosition(i * (width + spacing), height - pulse.getSize().y); // Posición del pulso
pulse.setFillColor(pulses[i] == 1 ? sf::Color::Green : sf::Color::Red); // Color según el valor
window.draw(pulse);
}
}
};
int main() {
sf::RenderWindow window(sf::VideoMode(800, 600), "Pulse graph");
// Datos de ejemplo: 1s y 0s
std::vector<int> pulseData = {1, 0, 1, 1, 0, 0, 1, 1, 0, 1};
PulseGraph pulseGraph(pulseData);
while (window.isOpen()) {
sf::Event event;
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed)
window.close();
}
window.clear(sf::Color::Black); // Limpiar la ventana
pulseGraph.draw(window); // Dibujar los pulsos
window.display(); // Mostrar el contenido
}
return 0;
}