Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
20.09.10, 08:21
|
#1
|
Anfänger
Registriert seit: Jul 2010
Beiträge: 14
Bedankt: 4
|
C# - Kreis Zeichnen - Consoleapplication
Guten Tag (Morgen) Gullianer ,
ich möchte einen Kreis bei C# zeichnen aber habe jetzt keine Ahnung wie.
Ich bin neu bei C# aber mein beschissener lehrer besteht darauf gleich mal einfach so C# zu benutzen und uns ne aufgabe zu geben die keiner braucht. = (
Also , ich soll Console appplication benutzen und einen Kreis zeichnen der verpixelt ist.
Sorry bin zu dumm dafür =(
Danke schonmal im Vorraus 
|
|
|
20.09.10, 11:26
|
#2
|
Freizeit-Troll :>
Registriert seit: May 2009
Beiträge: 2.269
Bedankt: 611
|
Und du denkst, dass du ohne dir selbst auch nur ein bisschen Gedanken zu machen, dir jemand hier fertigen Code postet? Wenn das einer macht, wird der von mir verwarnt.
Hausaufgaben sollte man schon selber machen. Und wenn man dazu mal ein wenig nachdenken muss.
|
|
|
20.09.10, 18:35
|
#3
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
da haste deinen kreis. der ist zwar ziemlich klein, aber immerhin
Code:
Console.WriteLine(".");
__________________
entropie erfordert keine wartung
|
|
|
20.09.10, 18:46
|
#4
|
Anfänger
Registriert seit: Jul 2010
Beiträge: 14
Bedankt: 4
|
ähem , - ja ich möchte nur nebenbei erwähnen , dass ich einen komischen lehrer habe (der einen gleich anbrüllt oO) und dass keiner aus meiner klasse es bisher hinbekommen hat . Wenn dem so wäre hätte ich nicht den umstand gemacht und hier was gepostet =)
und diesen thread habe ich während des unterrichts gepostet .
Wie auch immer - könnte mir eben wenigsten jemand einen Ansatz geben bzw - erklären wie man bei einer Consoleapplication in c# einen Punkt(x,y) mit '*' kennzeichnet ?
habe ja vorher mit processing gearbeitet und von daher ist der umstieg für mich etwas schwer geraten 8E
und ja- ich habe auch gegoogled - komme aber nicht zu einer vernünftigen antwort , da diese nicht zur consoleapplication passt (oder wie auch immer ..)
@ urga - woah jetzt kann ich schon mal paar '*'s erstellen :top: thanks ;D
Wichtiges - ich bin auf einem mathematikgymnasium mit besonderem naturwissentschaftlichen profil - d.h. ich habe auch was im köpfchen ;D
|
|
|
20.09.10, 18:58
|
#5
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] (klick auf c#, und dann auf example...)
__________________
entropie erfordert keine wartung
|
|
|
20.09.10, 20:02
|
#6
|
Anfänger
Registriert seit: Jul 2010
Beiträge: 14
Bedankt: 4
|
Danke =) , ich versuche mal das beste daraus zu machen =)
|
|
|
20.09.10, 20:04
|
#7
|
Erfahrener Newbie
Registriert seit: Apr 2010
Beiträge: 172
Bedankt: 31
|
Zum Zeichnen von Kreisen auf Rastergrafiken (auch ASCII-Art) existieren diverse Algorithmen. Der erste war wohl der Bresenham für Kreise:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Anbei findet sich ein Beispiel für eine Implementierung in C.Der Unterschied bei dir besteht darin, dass du keine Pixel setzen musst, sondern ein Zeichen für einen Kreisaußenpunkt (z.B. eine Raute oder einen Punkt) setzen sollst.
Achte darauf, wieviel Platz du auf der Konsole hast. Radien über 20 sollten ein Problem werden...
Kannst ja mal deinen fertigen Code hier posten.
Grüße,
kramido
|
|
|
24.09.10, 21:35
|
#8
|
Anfänger
Registriert seit: Oct 2009
Beiträge: 11
Bedankt: 0
|
also ich denke allg zur darstellung solltest du keinen punkt verwenden um die peripheri darzustellen
sondern ein dickes schwarzes viereck (code steht meistens hinten in der formelsammlung), da du in c# mit der console nur in den zeilen hin und her springen kannst, jedoch kannst du keine pixel direkt beeinflussen - daher wird wahrscheinlich auch kein bresenham algorithmus notwendig sein 
guck dir diese kreisfunktion an (wiki):
jetzt kannst du halt alle x durchgehen in einer schleife, dabei im intervall von -1 bis 1
und dabei mit deinem gewünschten radius multiplizieren
die koordinaten müssen natürlich noch gerundet werden
dann an der jeweiligen stelle das zeichen ausgeben
im folgendem artikel steht wie du die cursorposition in der konsole verändern kannst
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
hättest einfach nur "c# console set cursor position" google müssen
du bist nicht zufällig an der h2o in berlin?
|
|
|
27.09.10, 21:49
|
#9
|
Anfänger
Registriert seit: Jul 2010
Beiträge: 29
Bedankt: 1
|
Zitat:
Zitat von urga
da haste deinen kreis. der ist zwar ziemlich klein, aber immerhin
Code:
Console.WriteLine(".");
|
das geht ohne system.... beeindruckend
ich mach den mal was grösser:
Code:
Console.WriteLine("ö");
mit 2 punkten oben drauf!
kann mir mal eben jemand ne flasche bier coden, aber offen bitte
__________________
------------------------------
load: "m:bier" ,8,1
|
|
|
27.09.10, 22:00
|
#10
|
Anfänger
Registriert seit: Jul 2010
Beiträge: 29
Bedankt: 1
|
 mist hasste die property feuerzeug oder 17erschluessel vergessen, naja anfängerfehler
mal mit filemaker s***** probieren
Code:
gehezudatensatz:(hello world::kioskmode )
neuerdatensatz(vorrat::bier +5)
schreibe änderungen()
//TODO:developers: we have to improve the latancy time here...
//kioskmode takes more than 5 minutes!! try better
//FROM:<QA> TIMESTAMP "1.1.1970 00:00:00"
gehezudatensatz (Home::Sofa)
holes*****parameter(1,$$oeffner)
s*****ausführen("oeffnen",vorrat:bier)
fedlwertsetzen(vorrat::bier-1)
s*****ausführen("trinken",vorrat:bier)
s*****ausführen("imbett",user:id)
gotolayout(""buy FM","Only 3.500$") //ad by <QA> dev forgot again ads
program beenden
...mh compile error:runtime error: current Table "user:brain" divided by zero
immerhin hatte ich fast schon einen öffner...
__________________
------------------------------
load: "m:bier" ,8,1
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr.
().
|