|
| Cirkler med Radianer Fra : Ole J. Hansen |
Dato : 31-10-01 16:07 |
|
Hej NG
Nu er jeg da rigtigt på den, min opgave siger, at jeg skal lave et program
der kan tegne en
cirkel, der er noget med Radianer skulle være = grader*n/180.
??????
Mon der skulle være en der havde en lille stump kode, ikke for vanskelig, da
jeg ikke er for
god til dette.
Jeg kunne godt tænke mig, at den kunne tegne cirklen eller en del af cirklen
på selve FORMEN.
M.v.h
Ole J. Hansen
| |
Bjarke Walling Peter~ (01-11-2001)
| Kommentar Fra : Bjarke Walling Peter~ |
Dato : 01-11-01 22:38 |
|
Ole J. Hansen skrev:
> Mon der skulle være en der havde en lille stump kode, ikke for vanskelig,
da
> jeg ikke er for
> god til dette.
Det her ved jeg en masse om - tror jeg nok... (jeg elsker at lave
grafik-programmer i noget der hedder QBasic)...
Måske kan du bruge det her til noget:
Const pi = 3.14159265358979
Private Sub TegnCirkel(XPosition As Integer, YPosition As Integer, _
XRadius As Integer, YRadius As Integer,
_
StartVinkel As Integer, SlutVinkel As
Integer)
Dim x As Single, y As Single
Dim gx As Single, gy As Single
Dim i As Double
While StartVinkel > SlutVinkel
StartVinkel = StartVinkel - 360
Wend
x = Cos(StartVinkel * pi / 180) * XRadius + XPosition
y = Sin(StartVinkel * pi / 180) * YRadius + YPosition
PSet (x, y)
For i = StartVinkel To SlutVinkel Step 5 ' Jo større tal ...
' ... jo mere kantet bliver cirklen. Med en værdi på 120 er det
f.eks.
' en trekant, hvilket må siges at være en meget kantet cirkel!
x = Cos(i * pi / 180) * XRadius + XPosition
y = Sin(i * pi / 180) * YRadius + YPosition
Line -(x, y)
Next i
x = Cos(SlutVinkel * pi / 180) * XRadius + XPosition
y = Sin(SlutVinkel * pi / 180) * YRadius + YPosition
Line -(x, y)
End Sub
Private Sub Command1_Click()
' Fuld cirkel:
TegnCirkel 1200, 1200, 300, 300, 0, 360
' Cirkelstykke:
TegnCirkel 1200, 1200, 400, 400, 20, 340
' Cirkelstykke:
TegnCirkel 1200, 1200, 500, 500, 300, 60
' Fuld oval:
TegnCirkel 1200, 1200, 1000, 600, 0, 360
End Sub
.... her er også en forsimpling af det, hvor princippet nok er nemmere at se:
Private Sub Command1_Click()
' Tegner altid en fuld cirkel:
Dim XPosition As Integer
Dim YPosition As Integer
Dim Radius As Integer
Dim x As Integer
Dim y As Integer
Dim i As Double
XPosition = 1200
YPosition = 1200
Radius = 900
For i = 0 To 2 Step 0.001
x = Cos(i * pi) * Radius + XPosition
y = Sin(i * pi) * Radius + YPosition
PSet (x, y)
Next i
End Sub
.... foresten så bør du nok sætte propertien AutoRedraw på din form til True.
- Bjarke Walling Petersen
| |
Ole J. Hansen (02-11-2001)
| Kommentar Fra : Ole J. Hansen |
Dato : 02-11-01 17:06 |
|
Hej Bjarke!
Jeg tror du har ret, det er nok sådan noget jeg skal bruge, men men, besvim
nu ikke af grin, hvorledes får jeg noget af det her til at stå på formen,
altså sådan at når jeg trykker på knappen, så skriver den den fulde cirkel
ud på formen.
M.v.h.
Ole J. Hansen
"Ole J. Hansen" <ojh@hansen.mail.dk> skrev i en meddelelse
news:3be0147f$0$773$edfadb0f@dspool01.news.tele.dk...
> Hej NG
> Nu er jeg da rigtigt på den, min opgave siger, at jeg skal lave et program
> der kan tegne en
> cirkel, der er noget med Radianer skulle være = grader*n/180.
> ??????
> Mon der skulle være en der havde en lille stump kode, ikke for vanskelig,
da
> jeg ikke er for
> god til dette.
> Jeg kunne godt tænke mig, at den kunne tegne cirklen eller en del af
cirklen
> på selve FORMEN.
> M.v.h
> Ole J. Hansen
>
>
| |
Bjarke Walling Peter~ (05-11-2001)
| Kommentar Fra : Bjarke Walling Peter~ |
Dato : 05-11-01 21:03 |
|
Ole J. Hansen skrev:
> Hej Bjarke!
> Jeg tror du har ret, det er nok sådan noget jeg skal bruge, men men,
besvim
> nu ikke af grin, hvorledes får jeg noget af det her til at stå på formen,
> altså sådan at når jeg trykker på knappen, så skriver den den fulde cirkel
> ud på formen.
> M.v.h.
> Ole J. Hansen
Først og fremmest: Undskyld jeg først svarer nu. Måske har du fundet
løsningen og måske ikke. Så...
Det du gør er at placere en knap (CommandButton) på din Form. Derefter går
du ind i kodevisning og kopierer min kode ind... og kun et eksempel af
gangen (af de to, jeg skrev). Dog skal du sætte linien der starter med Const
pi = 3.1415...... ind i begge eksempler.
Bare skriv igen, hvis du stadigvæk har problemer.
Måske burde du få fat i en eller anden Visual Basic-begynder bog... det er
bare et forslag (men da jeg ikke rigtigt kender nogle bøger, har jeg ikke
nogen at anbefale).
Mvh. Bjarke
| |
|
|