C#-ban hogy kapom meg azokat a koordinátákat, amelyek az általam rajzolt kör körvonalára esnek?
Csak hatvan koordinátára van szükségem a kör középpontjától északra lévőtől kezdődően.
A körnek ezek a paraméterei:
g = CreateGraphics();
g.DrawEllipse(black, 100, 100, 600, 600);
(A black az a toll.)
A form mérete 800x800.
Szia.
Nézd meg ezt : [link]
Szerintem körvonal "B" verzió : R*cos(alfa),R*sin(alfa) ez az alap képlet, kiegésziteném a következőkkel : X0+ R*cos(alfa),Y0+R*sin(alfa) (ahol X0,Y0 a kör középpontjénak koordinátái) tehát a fenti képlettel meg tudod határozni a körvonalra eső pontok koordinátáit (Ha 60 db kell akkor értelemszeű úgy kell a ciklust inditani, hogy 6 fokonként változik az alfa : 360/60=6) .
Sok sikert.
Üdv.
Ha nem voltam egyértelmű, akkor 6 fokosával lépkedve kell az a 60 koordináta!
Magyarul azok a koordináták kellenek, ahová egy óra másodpercmutatója szokott mutatni.
Ja, hogy ti már válaszoltatok!
Akkor előbb elolvasom a válaszokat. XD
Na ne. Mégis, mit vártál? Wampa javaslata kevésbé, de a cooper-féle teljesen átlátható, csak értelmezd már egy kicsit.
Az általad megadott konkrét példától függetlenül:
1. Az egységnyi kör adott alfa szögéhez tartozó koordinátaértékek: X=cos(alfa), Y=sin(alfa).
(Ha nem világos, nézd át a szögfüggvényeket, kivált a „Definíció az egységsugarú kör ill. az egységvektor segítségével” című részt:)
2. A te köröd nem 1 egységnyi sugarú, hanem annak a többszöröse, ezért kell a koordinátaértékeket megszoroznod a sugárral.
3. A te köröd nem az origóban van, hanem eltolva, ezért kell minden pont X, Y értékeihez hozzáadni a középpont koordinátáit.
Szia.
Ha ezek a képletek bonyolultak akkor, hagy az egészet a fenébe, hiszen ez még csak az első akadály.
Sorolom a többit : Ha megvannak a körvonalad koordinátáit, azok szerintem kevesek lesznek (max másodpercmutatóhoz, de szerintem az is egy 5-10 pixellel rövidebb kellene hogy legyen mint a kör - és ezen koordináták már nem felelnek meg), ezen analógián elindulva kelleni fog a "kismutató" illetve a "nagymutató" végének koordinátái is.
Szerintem egyszerübb ezen kordináták kiszámolása az adott képletekkel.
A köörvonal koordinátait megadom (de szerintem ezzel nem sokkal vagy előbre) innen letöltheted a példa programot ami rajzol egy kört - közben létrehoz egy koordinata.txt filét és abba beleirja a kör körvonalának koordinátáit) : [link]
Itt a virusellenőrzése is : [link]
Nem C#-ben iródott, igy forrást nem tudok prezentálni
Sok sikert.
Üdv.
Köszi! Ez is sokat segít azért. :)
De hogyan kellene pont a form közepére rajzolni azt a kört? Úgy akartam én is, de nem ment...
A körödet az én paramétereim szerint rajzoltad meg?
És a formod az 800x800-as?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!