3D-Figuren berechnung

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

 

aletes

Betreff: 3D-Figuren berechnung

BeitragSo, Apr 26, 2009 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ein kleines Programm erstellt, welches das Volumen, den Mantel, die Oberfläche und die Grundfläche von 3dimensionalen objecten berechnet
Code: [AUSKLAPPEN]

Graphics 800,600,32,1
AppTitle "Mathe_01"
Global Ergebnis#
x=20
y=10
x2=80
y2=20
Repeat
Cls
Color 0,206,209
Rect 0,0,800,40
Color 0,0,200
Rect x,y,x2,y2
If KeyHit(205) Then
x=x+100
EndIf
If KeyHit(203) Then
x=x-100
EndIf
If x>700 Then
x=20
EndIf
If x<0 Then
x=620
EndIf
Color 255,255,255
Text 30,15, "Quader"
Text 130,15, "Zylinder"
Text 230,15, "Pyramide"
Text 330,15, "Kegel"
Text 630,15, "Beenden"
If x=120 Then
Gosub zy1
EndIf
If x=20 Then
Gosub qu1
EndIf
If x=220 Then
Gosub py1
EndIf
If x=320 Then
Gosub ke1
EndIf
If x=620 Then
Gosub end1
EndIf
Flip
Until KeyDown(1)
End

.zy1
Text 100,100, "Zylinderberechnung"
If KeyDown(28) Then
Gosub zy
EndIf
Return

.qu1
Text 100,100, "Quaderberechnung"
If KeyDown(28) Then
Gosub qu
EndIf
Return

.py1
Text 100,100, "Pyramidenberechnung"
If KeyDown(28) Then
Gosub py
EndIf
Return

.ke1
Text 100,100, "Kegelberechnung"
If KeyDown(28) Then
Gosub ke
EndIf
Return

.zy
Locate 0,0
Input()
Locate 50,200
r#=Input("Radius:")
Locate 50,220
hk#=Input("Höhe:")
Ergebnis#=3.141*r*r*hk
Ergebnis1#=2*3.141*r*hk
Ergebnis2#=Ergebnis1#+2*3.141*r*r
Ergebnis4#=3.141*r*r
Text 50,260, "Volumen:"+Ergebnis#
Text 50,280, "Mantel:"+Ergebnis1#
Text 50,300, "Oberfläche:"+Ergebnis2#
Text 50,320, "Grundfläche:"+Ergebnis4#
WaitKey
Return

.qu
Locate 0,0
Input()
Locate 50,200
l#=Input("Länge:")
Locate 50,220
b#=Input("Breite:")
Locate 50,240
h#=Input("Höhe:")
Ergebnis#=l*b*h
Ergebnis1#=l*b
Ergebnis2#=2*l*b+2*a*c+2*b*c
Text 50,280, "Volumen:"+Ergebnis#
Text 50,300, "Grundfläche:"+Ergebnis1#
Text 50,320, "Oberfläche:"+Ergebnis2#
WaitKey
Return

.py
Locate 0,0
Input()
Locate 50,200
l#=Input("Länge:")
Locate 50,220
b#=Input("Breite:")
Locate 50,240
h#=Input("Höhe:")
Ergebnis#=0.33*l*b*h
Ergebnis1#=l*b
Ergebnis2#=4*h/2*l+l*b
Ergebnis4#=4*h/2*l
Text 50,280, "Volumen:"+Ergebnis#
Text 50,300, "Grundfläche:"+Ergebnis1#
Text 50,320, "Oberfläche:"+Ergebnis2#
Text 50,340, "Mantel:"+Ergebnis4#
WaitKey
Return

.ke
Locate 0,0
Input()
Locate 50,200
r#=Input("Radius:")
Locate 50,220
h#=Input("Höhe:")
Ergebnis#=0.33*r*r*h
Ergebnis1#=r*r*3.141
Text 50,280, "Volumen:"+Ergebnis#
Text 50,300, "Grundfläche:"+Ergebnis1#
WaitKey
Return

.end1
If KeyHit(28) Then
End
EndIf

Entschuldigt die simple grafik, aber ich wollte keine zusätzlichen Bilder laden

Erklärung:
Wenn ihr das programm startet seht ihr oben 5 auswahlmöglichkeiten, zwischen denen ihr mit den pfeiltasten hin und her wählen könnt
von links nach rechts sind das: Quader,Zylinder,Pyramide,Kegel und Beenden
wenn ihr was berechnen lassen wollt, drückt einfach Enter auf einem der Felder und gibt die benötigten werte ein

ys, aletes
  • Zuletzt bearbeitet von aletes am So, Apr 26, 2009 12:54, insgesamt einmal bearbeitet

Nicdel

BeitragSo, Apr 26, 2009 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wusste gar nicht, dass ein Quader einen Radius hat...
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

aletes

BeitragSo, Apr 26, 2009 12:53
Antworten mit Zitat
Benutzer-Profile anzeigen
huch, habs grad korrigiert
Code: [AUSKLAPPEN]
.qu1
Text 100,100, "Quaderberechnung"
If KeyDown(28) Then
Gosub qu
EndIf
Return

lag hier dran, bei Gosub stand vorher zy, was ja die berechnung für den zylinder war

ozzi789

BeitragSo, Apr 26, 2009 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Mag ja ganz nett sein, aber

gosub
input
locate
kein backbuffer


sollte man wohl noch überarbeiten
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group