Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Skrócony regulamin

[VB.NET] Projekt programistyczny

Idź do strony 1, 2  Następny

 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
mp
Gość





PostWysłany: Pią Wrz 22, 2006 5:03 pm      Temat postu: Projekt programistyczny Odpowiedz z cytatem Pisownia

Uwaga: to pytanie dotyczy VB w wersji >= 7 (VB.NET)!

Witam wszystkich programistów VB .net!

Nowa platforma programistyczna Microsoftu na dobre zamierza zadomowić się w każdym komputerze, dlatego myślę, że nie warto pozostawać w tyle i pisać programy właśnie w .net! Nawet Borland wspomaga już tą platformę (w Delphi)!

Programuję w VB poczawszy od wersji 1.0 już około 8 lat, platformę .net poznałem 2 lata temu, nadal jednak jest to pełne pole ekploracji niezmierzonych przestrzeni nazw :) Obecnie studiuję na Wydziale Matematyki i Informatyki na Uniwersytecie Wrocławskim więc do programistów .net mam w zasadzie nieograniczony dostęp, jednak na uczelni nikt nie zajmuje się większymi projektami programistycznymi, stąd pojawiam się tu na forum!

Pomysł projektu, do którego chce Was zaprosić zrodził się całkowicie nagle - wszak dawniej dużo czasu poświęcałem na wymyślenie tematu: "co by tu zaprogramować" :)

Plan jest na razie skromny, mimo to - ambitny! Chodzi o stworzenie interpretera (a w przyszłości-nie wiadomo jak bliskiej/dalekiej-edytora) grafiki wektorowej. Nie jest to porywanie się z motyką na słońce - drugiego Corela nie będzie - chociaż nie ukrywam, że chciałbym by w projekcie zaimplementować jak najwięcej.

Co mogę wnieść do projektu:
-kod i pomysły
-wizję koordynacji pracy
-posiadam stosunkowo dużą (z programistycznego punktu widzenia) wiedzę na temat matematyki, którą to studiuję już kolejny rok

Co już mam (zacząłem dziś rano :):
-wyznaczanie dowolnie długiej krzywej Beziera
-efekt wygładzania krzywej - "pisanej odręcznie"

Czego potrzeba:
-podstawowe figury geometrzyczne w formie węzłowej
-wypełnianie węzłowej krzywej zamkniętej
-obrót o zadany kąt wokół zadanego punktu
-transpozycje wielkości i położenia
-...i dużo innych, ale przede wszystkim - strategii kształtowania architektury programu, którą należy dostosować.

Kogo szukam:
każdego, kto mógłby pomóc, jest pasjonatem(ką), posiada wiedzę z dziedziny oraz umiejętność nieśmiecenia w kodzie i pracy z dokumentacją techniczną.


Czekam na pytania na forum.
Pozdrawiam, 007mp@op.pl
(VB.NET)
Powrót do góry
Gość






PostWysłany: Pią Wrz 22, 2006 6:53 pm      Temat postu: Odpowiedz z cytatem Pisownia

Dobra jak wykonasz jedno zadanie to chetnie do ciebie dolacze, wczesniej jednak pokaz, ze umisz programowac i (jak twierdzisz) znasz matme!
Zadanie:
Napisz funkcje, ktora jako dwa parametry przyjmuje dwie wspolrzedne (Point(X,Y)) oraz jako trzeci punkt przyjmuje liczbe calkowita (L).
Mam wiec:
1)punkt1
2)punkt2
3)L -liczba calkowita

Funkcja rozklada rownomiernie co L, punkty poczawszy od punkt1 do punkt2 -lub od punkt2 do punkt1 (zaleznie jakie to sa punkty).

Przyklad:

Public Function RozlozRownomiernie(punkt1 as Point,punkt2 as Point, L as integer) as ArrayList
...
End Function


Uzytkownik kilka w dowolnym miejscu i mamy punkt1, nastepnie klika w innym i mamy punkt2. Wywolujemy funkcje z parametrami punkt1,punkt2,7 (co 7px. rozkladaj punkty).

Funkcja zwraca tablice typu ArrayList wypelniona obiektami typu Point -zaczynajac od pierwszego parametru poprzez punkty wyznaczone az do parametru 2.

Wyknaj to zadanie to pokazesz troszke matmy i VB.

Pozdrawiam!
(VB.NET)
Powrót do góry
mp
Gość





PostWysłany: Pią Wrz 22, 2006 7:33 pm      Temat postu: Odpowiedz z cytatem Pisownia

No cóż, proszę bardzo - nie testowalem wiele, napisałem w 15 minut - a teraz musze uciekać. Powinno działać:

Kod:
    Public Function RozlozRownomiernie(ByVal punkt1 As Point, ByVal punkt2 As Point, ByVal L As Integer) As Point()
        'funkcja rozklada rownomiernie punkty od punkt1 do punkt2 co ~L pikseli
        'ze wzgledu na nature pikseli (są  to liczby całkowite) rozklad bedzie rownomierny, jednak nie dokladnie co L pikseli

        'zobaczmy, ile L pikselowych krokow jestesmy w stanie wykonac
        Dim ilosckrokow As Integer
        ilosckrokow = odleglosc / L

        'definiujemy wektor przesuniecia od punkt1 do punkt2:
        Dim wprzes As Point
        wprzes.X = Math.Abs(punkt1.X - punkt2.X)
        wprzes.Y = Math.Abs(punkt1.Y - punkt2.Y)
        
        'wyznaczamy wektor przesuniecia punktow "rozkladu"
        Dim wmprzes As Point
        wmprzes.X = (L ^ 2 / (1 + (wprzes.Y / wprzes.X) ^ 2)) ^ 0.5
        wmprzes.Y = (L ^ 2 / (1 + (wprzes.X / wprzes.Y) ^ 2)) ^ 0.5

        'tablica punktow rozkladu
        Dim punkty(ilosckrokow) As Point
        punkty(0) = punkt1
        punkty(ilosckrokow) = punkt2

        Dim i As Integer
        For i = 1 To ilosckrokow - 1
            punkty(i) = punkty(i - 1) + wmprzes

        Next
        RozlozRownomiernie = punkty
    End Function

(VB.NET)
Powrót do góry
Gość






PostWysłany: Pią Wrz 22, 2006 8:09 pm      Temat postu: Odpowiedz z cytatem Pisownia

Czegos ci chyba zabraklo?!
Czym jest zmienna odleglosc?
Powiedzmy, ze ktos kilka 2* i ma:

punkt1(10,6)
punkt2(0,0)
L=7

Rozkladamy punkty w kierunku malejacym.
(VB.NET)
Powrót do góry
Gość






PostWysłany: Pią Wrz 22, 2006 10:40 pm      Temat postu: Odpowiedz z cytatem Pisownia

Anonymous napisał:
Czegos ci chyba zabraklo?!
Czym jest zmienna odleglosc?

Racja, źle wkleiłem (ponadto pomyliłem się z tymi wartościami bezwzględnymi!

Kod:
    Public Function RozlozRownomiernie(ByVal punkt1 As Point, ByVal punkt2 As Point, ByVal L As Integer) As Point()
        'funkcja rozklada rownomiernie punkty od punkt1 do punkt2 co ~L pikseli
        'ze wzgledu na nature pikseli (są  to liczby całkowite) rozklad bedzie rownomierny, jednak nie dokladnie co L pikseli
        Dim odleglosc As Single = ((punkt1.X - punkt2.X) ^ 2 + (punkt1.Y - punkt2.Y) ^ 2) ^ 0.5

        'zobaczmy, ile L pikselowych krokow jestesmy w stanie wykonac
        Dim ilosckrokow As Integer
        ilosckrokow = odleglosc / L

        'definiujemy wektor przesuniecia od punkt1 do punkt2:
        Dim wprzes As Point
        wprzes.X = punkt2.X - punkt1.X
        wprzes.Y = punkt2.Y - punkt1.Y

        'wyznaczamy wektor przesuniecia punktow "rozkladu"
        Dim wmprzes As Point
        wmprzes.X = (L ^ 2 / (1 + (wprzes.Y / wprzes.X) ^ 2)) ^ 0.5 * Math.Sign(wprzes.X)
        wmprzes.Y = (L ^ 2 / (1 + (wprzes.X / wprzes.Y) ^ 2)) ^ 0.5 * Math.Sign(wprzes.Y)

        'tablica punktow rozkladu
        Dim punkty(ilosckrokow) As Point
        punkty(0) = punkt1
        punkty(ilosckrokow) = punkt2

        Dim i As Integer
        For i = 1 To ilosckrokow - 1
            punkty(i) = punkty(i - 1) + wmprzes

        Next
        RozlozRownomiernie = punkty
    End Function


Dla podanych przez Ciebie danych kod zwraca punkty (10,6),(4,2),(0,0), czyli co 7 pikseli (ostatni skok jest dł 5 pikseli z uwagi na długość całości).

Jak napisal marcin_an (czemu usunal swoj post???), to jakies zadanie domowe?

PS: Skupmy się na TEMACIE!
(VB.NET)
Powrót do góry
marcin_an
Site Admin


Dołączył: 26 Maj 2005
Posty: 17273
Skąd: z drugiej strony Kabla

PostWysłany: Pią Wrz 22, 2006 11:16 pm      Temat postu: Odpowiedz z cytatem Pisownia

mp napisał:
Jak napisal marcin_an (czemu usunal swoj post???), to jakies zadanie domowe?
Bo był zmęczony i zamiast wysłać poprawiony post - wysłał to, co było w schowku. Nie sądzę, by kogoś interesowały wyniki działania mojego programu (to było w schowku), więc post został skasowany. I tak nie wnosił niczego ciekawego do dyskusji.
(VB.NET)

_________________
Matematyka to taki twór, który pozwala opisać sokowirówkę jako urządzenie pobierające ujemne odpadki i produkujące z nich sok.
"Lameria atakuje" | RTFM | UMLet - edytor UML inaczej | Wykłady ks.Pawlukiewicza
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
s_molik
Gość





PostWysłany: Sob Wrz 23, 2006 11:16 am      Temat postu: Odpowiedz z cytatem Pisownia

Bardzo zaciekawil mnie ten projekt!!!!!!!!!!! Bede go z uwaga sledzil!!!
(VB.NET)
Powrót do góry
mp
Gość





PostWysłany: Nie Wrz 24, 2006 2:27 pm      Temat postu: Odpowiedz z cytatem Pisownia

Aktualnie jestem w trakcie prac nad klasą podstaw geometrii.

Obecnie zaimplementowałem:
-skalowanie
-algorytm triangulacji

Będę implementować:
-algorytm wypełnienia wielokąta - dzielenie na wielokąty wypukłe i ich triangulacja
(VB.NET)
Powrót do góry
Gość






PostWysłany: Nie Wrz 24, 2006 2:38 pm      Temat postu: Odpowiedz z cytatem Pisownia

Chetnie bym Ci pomógl, ale mam zbyt niski poziom wiedzy jesli chodzi o matme:(
Jesli bedziesz potrzebowal utworzyc jakies klasy nie zwiazane z matma to chetnie Ci cos napisze.
(VB.NET)
Powrót do góry
mp
Gość





PostWysłany: Nie Wrz 24, 2006 3:19 pm      Temat postu: Odpowiedz z cytatem Pisownia

Gościu, bardzo dziękuję za zainteresowanie!
Zostaw kontakt do siebie, lub najlepiej napisz na mój mail ( 007mp@op.pl ).

Generalnie, potrzebne są zawsze matematyczne podstawy, ale tak, czy tak - co trudniejsze rzeczy znajduje się w internecie - np. algorytm triangulacji Da Lanuay'a, czy też algorytm triangulacji krzywej łamanej zamkniętej ( http://theory.lcs.mit.edu/~indyk/6.838-old/handouts/lec4.pdf#search=%22split%20a%20polygon%20algorithm%22 ) - jest tam dokładnie opisane, co trzeba zrobić, krok po kroku, wystarczy tylko przepisać z języka potocznego na język programowania :)

Pozdrawiam i czekam na kontakt, oraz w dalszym ciągu zapraszam do współpracy! Poszukuję także osób znających się na webmasteringu (do zrobienia strony projektu) oraz znających język angielski (dokumentacja techniczna (ta posiada też wersję polską) i nomenklatura w kodach źródłowych jest angielska).
(VB.NET)
Powrót do góry
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio Wszystkie czasy w strefie CET (Europa)
Idź do strony 1, 2  Następny
Strona 1 z 2

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.09205 sekund, zapytan = 7
contact

| Darmowe programy i porady Jelcyna | VB4all | Tansze zakupy w Helionie |