Program rysujacy wektory - Delphi (jak go napisać ?)

0

Witam Wszystkich

Na samym początku chciałbym podziękować osobom które pomogą w rozwiązaniu mojego problemu.

Wrzesień już za pasem, nauka się zaczęła a wraz z nią nowe wyzwania i niestety nowe problemy, to tyle tytułem wstępu Very Happy

Pozwolę sobie teraz przejść do opisania mojego problemu:
Programuje hobbystycznie w Delphi jednak ostatnio postawiono mi nowe wyzwanie.
Jeśli już coś robiłem w Delphi to nie było to na pewno związane z grafiką a mój problem właśnie zahacza o ten piękny dział programowania.

Otóż potrzebuje napisać program rysujący wektory, na początku chciałbym zaznaczyć ze nie musi to być oczywiście jakiś program CAD'owski (to był żart rzecz jasna Smile)
Chciałbym aby wektory dało się rysować myszką, tak jak np autokształty w programie MS Word czy Open Office.
Oczywiście wektor powinien być zakończony strzałką, a poza tym wektor powinno dać się:

  • przesuwać
  • wydłużać
  • skracać
  • obracać
  • zmieniać kąt nachylenia
    To by było wszystko jeśli chodzi o opis aplikacji. Po prostu z wektorem powinno się dać robić to wszystko co z normalnym wektorem na papierze. Bardzo ważne jest to aby większość operacji wykonywać za pomocą myszki i ewentualnie menu kontekstowego. Z resztą to znaczy z obliczaniem współrzędnych względnych i bezwzględnych, kątów i długości sądzę że sobie sam powinienem poradzić.

Mam nadzieje że za bardzo nie skomplikowałem sprawy właściwie wszystko zawarte jest w temacie.

0

Wystarczy Ci canvas i oprogramowanie zdarzeń myszy.

0

Dokładnie tak jak przedmówca napisał, tworzysz nowy canvas jako backbuffer, rysujesz na nim metodami canvasa, bądź samemu przez scanlines, a na końcu wrzucasz wszystko na formę, do sprawdzenia czy złapałeś za koniec wektora używasz sprawdzania długości wektora od punktów zaczepienia do pozycji myszki(nawet nie musi to być jego prawdziwa długość, tylko długość do kwadratu, aby nie obliczać niepotrzebnie pierwiastka).

0

Dziękuję za odpowiedź, ale niestety nadal nie jestem w stanie tego zrealizować samodzielnie.
Byłbym wdzięczny za jakiś programik lub kawałeczek kodu.

0

Najpierw tworzysz obiekt wektor pozniej obiekt kwadrat za pomoca ktorego bedziesz przesuwal wektor pozniej jak masz juz wektor sprawdzasz czy kwadrat znajduje sie w pozycji myszki jak tak to wtedy przesuwasz kodu nie bedzie bo to jest niestey proste

0

heh, niestety nie dla mnie. Gdybym był w stanie zrealizować to sam to nie zakładałbym tego tematu, probuje już coś zdziałać od miesiąca ale niestety stoję w miejscu. A wiem tyle co moi przedmówcy, niestety nic z tego nie może nadal powstać.

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