[C++] Zliczanie pikseli

Awatar użytkownika
Waylays
Użytkownik
Użytkownik
Posty: 59
Rejestracja: 26 lis 2014, o 19:14
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 19 razy
Pomógł: 8 razy

[C++] Zliczanie pikseli

Post autor: Waylays »

Witam, mam do napisania konkretny program, zgaduję, że nie jest on jakiś wybitnie trudny. Chodzi o to, że mam kwadrat 300x300 i wybieram 2 punkty w tym kwadracie. Układ współrzędnych zaczyna się oczywiście od punktu (0,0) (lewy górny wierzchołek) i kończy na punkcie (300,300) (prawy dolny wierzchołek). Po wybraniu dwóch punktów muszę utworzyć prostą przechodzącą przez te dwa punkty. Z tym chyba też sobie poradziłem, nie zagłębiajmy się w to. Teraz ostatnia część. Muszę zliczyć wszystkie piksele osobno po jednej i po drugiej stronie tej prostej i własnie nie mogę wpaść na to jak sobie z tym poradzić. Byłby ktoś skłonny pomóc? W linijkach 19 i 20 są dwie nierówności i chcę zliczyć te piksele. Świstek na razie wygląda tak:

Kod: Zaznacz cały

#include <iostream>

using namespace std;

int main()
{
    int xa, ya, xb, yb, x, y, A, B, C;
    cout<<"Podaj odcieta punktu A z przedzialu [0,299]"<<endl;
    cin>>xa;
    cout<<"Podaj rzedna punktu A z przedzialu [0,299]"<<endl;
    cin>>ya;
    cout<<"Podaj odcieta punktu B z przedzialu [0,299]"<<endl;
    cin>>xb;
    cout<<"Podaj rzedna punktu B z przedzialu [0,299]"<<endl;
    cin>>yb;
    A=(ya-yb)/(xa-xb); // x1!=x2
    B=-1; // b=(ya(xa-xb))/(xb(ya-yb))
    C=(ya*(xa-xb))/(xb*(ya-yb));
    //Ax+By+C>0 
    //Ax+By+C<0

    return 0;
}
szw1710

[C++] Zliczanie pikseli

Post autor: szw1710 »

Prosta dzieli kwadrat na dwie części. Policz pole jednej z nich i jego udział w polu kwadratu. Potem pomnóż to przez liczbę pikseli w kwadracie. Resztę punktów wyznaczysz w naturalny sposób.
ODPOWIEDZ