ellipse eller 3D kulge - algoritmer

Tags:    c#

<< < 123 > >>
Hej udviklere.
Jeg skal bruge en algoritme til at tegne en ellipse.
Jeg vil helst ikke røre System.Drawing, siden at outputtet ikke skal tegnes ind i en GUI.
Er der nogen der kender en sådan algoritme?

Jeg kunne også godt bruge en algoritme til en hul 3D kugle.

EDIT:
Nogen der har noget uden radius?
Man kan miste den sidste pixel med det :(
(ikke besvaret)



Indlæg senest redigeret d. 10.01.2012 19:58 af Bruger #16191
22 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 18 karma
Sorter efter stemmer Sorter efter dato
Dette er Java, men du kan nok lave det om til C#:
Fold kodeboks ind/udJava kode 


Du skal bare implementere drawLine



Indlæg senest redigeret d. 10.01.2012 16:47 af Bruger #2695
Dette er Java, men du kan nok lave det om til C#:
Fold kodeboks ind/udJava kode 


Du skal bare implementere drawLine


hvad er steps?


Det er hvor mange steps du vil tegne din ellipse i. Det vælger du selv. Jo flere steps, jo pænere bliver din ellipse. Men jo flere steps, jo dyrere bliver den at tegne.



Som andre har sagt bliver ellipsen pænere jo flere steps du har. Det er faktisk ikke en ellipse, som tegnes men en polygon. Hvis den har mange sider (steps) så kan du bare ikke se, at det er en polygon men den vil se ud til at være elliptisk. Prøv med få steps (8 stykker) og se hvordan det ser ud.

En kugle er lidt kræver, at vi ved, hvilket 3D library, du bruger, men det er sådan set ikke så svært. Det er bare at beregne punkter i kuglens overflade og så forbinde dem i trekanter. Er det OpenGL, ville jeg forudberegne punkterne og opbygge et vertex array, som OpenGL understøtter.



Hvorfor vil du ikke bruge System.Drawing, det må da være den som gør det mest optimalt?

Tror løsningen er at Google det, nok ikke mange som lige ligger inde med sådan et script der ikke bygger på Drawing-klassen i .NET.



Indlæg senest redigeret d. 10.01.2012 01:12 af Bruger #4265
Er enig med Pelle, System.Drawing må da næsten være den optimale løsning i .net?

Nu koder jeg kun selv vb.net, men her ville jeg vælge at gøre det med System.Drawing.




forslår i at jeg beder mit program om at tegne i et bitmap, hvorefter jeg skal detecte alle pixels, finde dem jeg skal bruge, og så lave en buffer der indeholder dem?

Tror det ville være bedere med en direkte buffer :/
Jeg har googlet rundt, det eneste jeg kan finde er hvordan den matematisk er sat sammen, ikke hvordan man kan kode en. :/



Jeg er lidt nød til at have en forklaring på hvad du vil lave så, hvis det ikke skal bruges i en form for grafisk brugerflade?



Hvor skal din ellipse tegnes hen? Til en fil?



ind i et 3dimensionelt spil som kasser



Indlæg senest redigeret d. 10.01.2012 16:05 af Bruger #16191
Dette er Java, men du kan nok lave det om til C#:
Fold kodeboks ind/udJava kode 


Du skal bare implementere drawLine


hvad er steps?



Indlæg senest redigeret d. 10.01.2012 17:59 af Bruger #16191
<< < 123 > >>
t