[ janjic @ 01.02.2008. 08:03 ] @
Da li neko ima programski kod u Visual Basic 6 za crtanje luka kroz tri tacke
[ dava @ 01.02.2008. 08:53 ] @
Ima, zašto...
[ janjic @ 01.02.2008. 09:29 ] @
možeš li da ga postaviš? Hoću da napišem jedan programčić koji bi trebalo da mi prevede programski kod sa jedne mašine u fabrici i da iscrta sliku. Mašina inače štepuje platna i šivaće glava se kreću po koordinatama
[ Aleksandar Ružičić @ 01.02.2008. 16:40 ] @
imas dosta primera za bezireove krive na pscode.com, jeste da su u pitanju cetiri tacke (dve krajnje i dve koje odredjuju pravac), al moze da ti pomogne.
ako ne nadjes nista uvek je tu analiticka geometrija i diferencijalni racun ;)
[ Shadowed @ 01.02.2008. 17:42 ] @
Imas jednacinu kruga koja je (x-a)2 + (y-b)2 = r2 gde su a i b koordinate centra a r poluprecnik. E sad, postoji nacin da se od koordinata te tri tacke dobiju a, b i r, ali ne znam napamet ali verovatno mozes i sam izguglati ili izracunati.
Nakon toga samo koristis tu jednacinu i za jedan opseg x-ova racunas y i crtas tacku na koordinati (x, y). Tj. najbolje da crtas liniju od prethodne koordinate do nove da ne bude isprekidano. Opseg za x zavisi koliko hoces da nacrtas, ako hoces samo kroz te tri tacke, onda od najmanjeg do najveceg x iz koordinata tih tacaka.
[ Aleksandar Ružičić @ 02.02.2008. 21:57 ] @
Shadowed, dobra ti je ideja za krug. ja sam probao da izracunam ali davno sam radio analiticku geometriju pa sam i zaboravio neke cake, a nemam kod sebe trenutno nijednu zbirku ni svesku da se podsetim, tako da me krug malo namucio moram priznati :)
ustvari nisam se mnogo bas ni trudio, pokusao sam na jedan nacin, negde pogresio u racunu i mrzelo me da se vracam, zato sam uzeo kvadratnu funkciju i preko nje uradio iscrtavanje luka, racun je prost (sistem od tri jednacine sa tri nepoznate) ali rezultat tj luk nije uvek najidealniji... evo prilazem i dva shoota gde se vidi kod u akciji...





naravno ovde treba jos dosta sredjivanja, da se necrtaju isprekidane linije, moze i sub-pixel tehnika da se koristi da bi se dobile glatke linije.
[ Shadowed @ 02.02.2008. 23:03 ] @
Mozes i drugacije. Centar kruga se nalazi u preseku simetrala dveju duzi kreiranih tim tackama. Poluprecnik je rastojanje od centra do bilo koje tacke. Mrzi me kucati formule a jos vise pisati po papiru (skroz odvikao). Ne znam ni ja napamet, morao bih racunati.