PUNKTY 3D zadanie.

0

Pracuję aktualnie nad zadaniem z cpp, jestem mega początkujący, czy ktoś może ma pomysł na to zadanie, lub jakieś wskazówki/ odesłania do stron, które pomogą w zrozumieniu i stworzeniu tego kodu.
Punkty 3D
Opracować klasę Punkt3D reprezentującą punkty o współrzędnych całkowitych. Klasa powinna mieć wszystkie niezbędne usługi interfejsu pozwalające wczytywać punkty z wejścia (operator '>>'), wyprowadzać punkty przy pomocy operatora '<<' w postaci znakowej (x, y, z), porównywać wg priorytetu najpierw x, potem y, potem z. Przetestować klasę generując, wg danych podanych przez użytkownika, zbiór n punktów z zakresu 0..z i wyznaczyć dla tego zbioru prostopadłościan B ciasno opakowujący punkty. Prostopadłościan jest specyfikowany przez dwa przeciwległe punkty narożne.

Część 2. Uzupełnić funkcjonalność projektu o wyznaczanie podzbiorów punktów wg kryteriów podawanych w konwersacji przez użytkownika:

(a) punkty leżące na określonych ścianach prostopadłościanu B

(b) punkty leżące wewnątrz prostopadłościanu B

(c) punkty należące do zadanego przez użytkownika prostopadłościanu B'.

W jednym wykonaniu można przetestować wiele przypadków.

Tyle udało mi się stworzyć do tej pory, nie patrzcie na formę konwersacji z programem, mocno robocza wersja.

class Punkt3D
{
public:
    Punkt3D::Punkt3D()
    {
    }

    Punkt3D::Punkt3D(int x, int y, int z)
    {
        this->x = x;
        this->y = y;
        this->z = z;
    }

    Punkt3D::~Punkt3D()
    {
    }

    friend ostream& operator<<(ostream& output, const Punkt3D& punkt) {
        output << "x: " << punkt.x << "y: " << punkt.y << "z: " << punkt.z;
        return output;
    }

    friend istream& operator>>(istream& input, Punkt3D& punkt) {
        input >> punkt.x >> punkt.y >> punkt.z;
        return input;
    }

private:
    int x, y, z;
};

int main() {
    Punkt3D punkt(1, 2, 3), punkt_drugi;

    cout << "Wpisz te te do tego punktu : " << endl;
    cin >> punkt_drugi;
    cout << "punkt : " << punkt_drugi << endl;

    return 0;
}
3

Dobra, to co już Masz działa? Przetestowałeś? Z czym z dalszych punktów Masz problem?

3

To z czym konkretnie masz problem?
Jeżeli oczekujesz że zwyczajnie ktoś za ciebie to zrobi, to pomyliłeś działy.

0
_13th_Dragon napisał(a):

To z czym konkretnie masz problem?
Jeżeli oczekujesz że zwyczajnie ktoś za ciebie to zrobi, to pomyliłeś działy.

Wyznaczenie "minimal bounding box" w 3D to nie jest taka prosta sprawa. A już na pewno nie dla kogoś początkującego...

@BONQ -
Do poczytania:
https://en.wikipedia.org/wiki/Minimum_bounding_box_algorithms

Ale pewnie autor zadania przyjął "milczące założenie", że krawędzie prostopadłościanu są równoległe/prostopadłe do osi układu współrzędnych

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0