Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: generowanie punktów po okręgu
Forum PHP.pl > Forum > PHP
macsurf
Witam

Niestety z matematyki orłem nie byłem, więc mam pytanie jak wygenerować punkty po okręgu.

Potrzebuje generować strzałki do wektorów i te 3 punkty tworzące strzałke wektora muszą poruszać się po okręgu tak żeby zachować proporcje i żeby strzałka się nie "rozlazła". Więc punkty tworzące strzałke wektora musza być generowane na współrzednych x,y po okręgu.
Chodzi mi oczywiście o zależność przesuwania się punktów tworzących okrąg, a nie gotowy kod smile.gif Jak to zrobic ?
sticker
z matematyki raczej nie jesteś orłem niż z informatyki ale to tak off topic smile.gif
Google i wpisz równanie okręgu a pozniej przepisz do kodu :]
macsurf
Już znalazłem, zobaczymy co z tego wyjdzie. Tak to jest, ze to co w teorii jest proste w praktyce już takie łatwe nie jest. Dopiero jak już sobie poradzimy z problemem okazuje się, że to nie było aż takie trudne.

W co ja sie wplatalem musze zrobic autocada w php smile.gif A strzałki potrzebne są do wymiarowania obiektów, pod kątem 90 i 0 to żaden problem, gorzej jak są inne kąty smile.gif Stąd było moje pytanie, ale fakt wzór jest to i powinienem sobie jakoś poradzić - jak będą problemy to pewnie się odezwe :]
mike
[OT]
Cytat(macsurf @ 8.12.2007, 21:39:19 ) *
W co ja sie wplatalem musze zrobic autocada w php smile.gif
nie ma to jak dobór odpowiedniego narzędzia do zaplanowanej pracy.
Ty wybrałeś źle. Z góry Ci mówię że zadaniem masz bardzo trudne a po drodze ogrom problemów.
Przemyśl sprawę raz jeszcze.
macsurf
Częśc mam już zrobione. To jest aplikacja do pracy dyplomowej. Można generować kilka obiektów ba nawet wałek w 5 sek. smile.gif
Mogę na priva pokazać tongue.gif
Gdybym znał JS to punkty współrzedne można by wprowadzać bezpośrednio do formularza i generować jakiś bardziej zlożony obiekt a tak trzeba ręcznie wpisywać współrzedne sad.gif Można nawet wypełniać obiekty poprzez kreskowanie, choć tutaj jest o tyle dziwna sytuacja, że przy nieregularnych kształtach niektóre linie wychodzą poza obręb wypełnianego obiektu. Jak to możliwe ? Skoro pixel na krawędzi jest czarny to linia powinna się zatrzymywać. W większości przypadków się zatrzymuje ale nie we wszystkich krawędziach. Na kwadracie nie ma problemu na okręgach niektóre linie wychodzą poza okręg przy wypełnianiu. Tak jakby linia generująca okrąg nie była w niektórych miejsach czarna smile.gif No ale to już naprawde zagadka :/
nevt
z tym przecinaniem się okręgu i linii prostej - to żadna zagadka... wyobraź sobie najprostszy fragment obrazu (2px X 2px)... i niech pixele (czarne) należące do okręgu to (0, 1) i (1, 0)... i teraz się rysuje prosta (po białych pixelach) z takiego kierunku, że dochodzi do okręgu na współrzędnych (0,0) (białe) i sprawdza kolor kolejnego punktu ... (1, 1) - też biały - i właśnie w tym miejscu "ucieka" z okręgu...

podsumowując - kreskowanie obszaru okręgu powinno być oparte albo o algorytm związany z równaniem okręgu, albo o algorytm wypełnienia (fill), z zamianą pełnego wypełnienia na wzór kreskowania...

pozdrawiam. ambitny jesteś smile.gif
macsurf
Wielkie dzieki nevt smile.gif
Faktycznie nie zwróciłem na to uwagi, aż wstyd :]
Teraz już działa, poprostu sprawdzam dodatkowo pixele przylegające do pixeli które generują linie. Więc sprawdzane są te, które generują linie i boczne przylegające do linii. Co prawda przez to jest 1 pixelowa przerwa w kreskowaniu do krawędzi kształtów ale nie jest to aż tak widoczne smile.gif

Jeszcze raz dzięki nevt smile.gif

Teraz będe kombinował z tymi strzałkami obracającymi się po okręgu, ale mając wzór nie powinno być już żadnego problemu smile.gif Wyliczanie kątów już przerabiałem przy generowaniu faz przy wałkach, więc powinno pójść gładko smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.