Hallo und herzlich willkommen!
Beiträge von Developer30
-
-
-
hm ok
würde das dann stimmen?Codefür y-Achse Xn = cos(p)*X + sin(p)*Z Yn = Y Zn = cos(p)*Z - sin(p)*X für z-Achse Xn = cos(p)*X - sin(p)*Y Yn = sin(p)*X + cos(p)*Y Zn = Z
In welchem "Format" muss p angegeben werden? Welche Zahl entspricht 360°? Denn irgendwie dreht sich das Ding schon bei 0.5 enorm.
-
danke für die kleine Erläuterung. Ich hatte Matrizen noch nicht in der Schule von daher auch mal interessant ..
Wobei esXn = X
Yn = cos(p)*Y + sin(p)*Z
Zn = sin(p)*Y - cos(P)*Zsein müsste.. es hieß ja -sin(p)...
danke ;D.. falls es noch Probleme bei der Umsetzung geben sollte, melde ich mich.
-
Hey @ all,
eine Frage an die Mathe Genies im Forum. Und zwar folgendes: Wir stellen uns ein Körper (z.B. ein Würfel) vor, den ich um die x- [y, z] Achse um n° drehen möchte (siehe Skizze). Dafür drehe ich alle 8 Punkte des Würfels um die Achse. In meiner Skizze heißt der zu spiegelnde Punkt "P" (den ich erstmal um die x-Achse drehen möchte).
Ich komme soweit, dass die Strecke PQ (zwischen Achse und Punkt) quasi einen Radius ergeben. Theoretisch läge der um n° gedrehte neue Punkt ja auf dem Umfang des Kreises (2PQ*PI). Nur wie finde ich jetzt x, y und z Koordinate des neuen Punkts heraus?Hoffe auf Hilfe,
thxDeveloper30
-
-
Alles Gute zum Geburtstag
-
Alles Gute nachträglich!
-
Alles Gute
Feier schön! -
Ich glaube Hauke hat ein Fehler in seinem Script, was die großen Differenzen erklärt.
Er hat $var vor der Switch schleife nicht auf 0 zurückgesetzt. Dadurch ist ja klar, dass Switch viel schneller sein musste, weil es kaum zum Einsatz kam.Edit: so müsste es richtig sein:
Spoiler anzeigen
[autoit]$var = 0
[/autoit]
$time_select_start = TimerInit()
while $var <= 10000
$var += 1
Select
case $var = 500
$man = "500 - 1"
case $var = 2000
$man = "2000 - 2"
case $var = 6000
$man = "6000 - 3"
case $var = 9999
$man = "ENDE"
EndSelect
WEnd
$time_select_ende = TimerDiff($time_select_start)
$var = 0 ; <-- $var muss auf 0 gesezt werden!
$time_switch_start = TimerInit()
while $var <= 10000
$var += 1
Switch $var
case 500
$man = "500 - 1"
case 2000
$man = "2000 - 2"
case 6000
$man = "6000 - 3"
case 9999
$man = "ENDE"
EndSwitch
WEnd
$time_switch_ende = TimerDiff($time_switch_start)
MsgBox(0, "", "Select --> " & $time_select_ende & @CRLF & "Switch --> " & $time_switch_ende) -
sagen wir "nur halb". du musst das vom link das https://autoit.de/ weg machen zu hauke96.bplaced.net/AutoOS/AutoOS_14-07-11.rar und dann geht das.
-
das ist die Lösung, danke!
Btw: Wozu braucht man das?
Also ich brauch das um mit einer errechneten Zahl auf den jeweiligen Arraywert zu "zeigen" (fast bisschen wie Pointer und Array in c++).
-
Hey @ all,
ich hoffe hier sind welche besonders gut in Mathe, weil ich bei folgendem Problem völlig auf dem Schlauch stehe:
[autoit]
Ich habe ein Array, bei dem alle 3 Dimensionen gleich groß sind: $aArray[16][16][16]. Die Anzahl der Werte, die in diesen Array passen ist also 16^3. Wenn ich den Array nun folgendermaßen nummeriere:d | [a] [b] [code=c]
[/autoit]
0 | [0] [0] [0]
1 | [0] [0] [1]
2 | [0] [0] [2]
usw...
dann könnte ich das ja genauso gut mit folgender Formel tun: a*(16^2) + b*16 + c = d
Meine Frage ist nun, wie ich a, b, c errechnen kann, wenn ich d weiß ?(. Das einzige was mir dazu einfällt ist "lineares Gleichungssystem" aber da komm ich auch irgendwie nicht drauf :wacko:hoffe ihr könnt mir hier auf die Sprünge helfen
Developer30 -
Herzlich Willkommen auch von mir
In 2 Monaten gehe ich auf eine weiterführende Schule für Informatik und will nicht einer von denen sein die von Programmieren noch nie was gehört haben.
Wie bist du denn auf Informatik gekommen? Hast du schonmal mit einer Script-/ Programmiersprache gearbeitet, oder ist AutoIt jetzt sozusagen dein erster Einstieg? (sagt mir, wenn ich zu neugierig bin^^)
-
Auch von mir ein
==================
| Herzlich Willkommen |
================== -
Ach und woher weißt du das? Hast du das wirklich ausreichend getestet oder nur einmal ausprobiert und dann aufgegeben?
Ich bin keiner von denen, die unballanciert mit Draw Befehlen um sich werfen und sich dann bei geringer FPS wundern. Aber ein GDI+ Spiel rein in AutoIt mit hoher Komplexität und großer Spielmöglichkeit halte ich für schwer erreichbar.
vorallem in AutoIt
Inline Assembler
meine Aussage bezog sich hauptsächlich auf AutoIt. Ist mir schon klar, dass man mit Einbindung von Assembler FPS retten kann. Aber trotzdem ist dass, wie du auch selbst in deinem Post geschrieben hast, viel aufwändiger das ganze in GDI+ zu machen, als gleich DirectX zu benutzen.
Doch das stimmt in gewisser Weise schon. Sobald man etwas komplexeres machen möchte (mit vielen Draws) dann kann das vorallem in AutoIt, aber auch allgemein, sehr stockend werden.Ich glaube das war etwas unpräzise von mir formuliert. Besser: Spieleprogrammierung in GDI+ ist auffwändiger als wie mit dafür entwickelten Engines.
-
@Soldier Wieso soll GDI+ nicht für Spiele geeignet sein? Schau mal in meine Signatur...
Doch das stimmt in gewisser Weise schon. Sobald man etwas komplexeres machen möchte (mit vielen Draws) dann kann das vorallem in AutoIt, aber auch allgemein, sehr stockend werden.
-
Hmm... Naja ist nicht schlecht, aber ich fänds gut wenn man noch einstellen könnte dass nur ganze zahlen ausgegeben werden!
DFPWare
[autoit]
das kann man doch ganz leicht mitint
[/autoit]selbst machen..
-
Herzlich Willkommen
-
Hallo Luwid,
Allerdings weiß ich nicht wie ich anfangen soll bzw. wie ich die einzelnen Knöpfe binden soll.
wie wärs mal mit GUI erstellen?
folgende Befehle sollten dir helfen
[autoit]GUICreate
[/autoit]
GUICtrlCreateButton
GUICtrlCreateInput
schau dir am besten mal die deutsche Hilfedatei an (Download hier).
Du kannst auch den Koda Form Designer benutzen, mit dem lässt es sich am Anfang leichter einfache Fenster "designen". Wenn du schon eine GUI hast, poste sie am Besten hier, dann können wir die auch besser helfen.mfG
Developer30