Nochmal zu const speed
Übersicht

Gehe zu Seite Zurück 1, 2, 3, 4
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich finde diese threads immer sehr spannend.
hab auch ein bischen was gelernt hier auch wenn mir nicht alles klar ist... bezeichne mich immer noch als anfänger und trotzdem muss ich sagen (das geht jetzt nicht gegen dich DW) war doch eigentlich verständlcih was von anfang an in diesem (und dem anderen;)) thread versucht wurde zu erklären. wahrscheinlich werde ich euch demnächst auch nochmal mit single surfaces und anderen schönen speedoptimierenden dingen um hilfe bitten müssen... vllt könnte hier noch gekärt werden wie das mit der null division gemeint. wann ist das der fall bei diesem milliseks timer? hat mich nachdenklich gemacht... außerdem interressiert mich wie kompliziert es ist diese beschriebene doom3 feuertechnik zu verwenden? sprich komplettes mesh löschen und surface+tries neu erstellen... hätte gedacht das dauert länger... und wie berechnet man dann die koordinaten und speichert diese für jedes tri? naja soviel von mir dazu erstmal:) gruß key |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eine 0 Division ist, wenn man /0 macht. In der Mathe ist das eigetlich verboten. Das Problem ist, beim Computer muss man das explizit überprüfen und zwar indem man überprüft ob der Teilwert den man verwenden will, kleiner als ein bestimmter wert ist (zb 0.0001) und falls ja, dann setzt man den wert einfach auf diesen niedrigsten wert. Dadurch kommt ma nicht an den punkt wo irgendwas/wert dann auf einmal zu einem "unendlich" grossen wert führt. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
@key
Ganz einfach : Wenn das Feuer sich verändert -> - Mesh löschen (Surface+Tris... werden automatisch gelöscht) -Mesh erstellen -Surface erstellen und eine Brush drüberlegen (Feuer) (Feuer mittels tex=LoadTexture("Feuer.png",2) Brush = CreateBrush() BrushTexture Brush,tex laden am anfang) -Alle Vertices erstellen (For...NExt schleife, Sprite XPos - SpriteGrösse/2, SpriteXPos+SpriteGrösse/2, gleiche für Y) -Triangles erstellen Fertig. Läuft eigendlich Sauschnell, habe selber sowas in der art, is wunderbar. [EDIT] Dreamora : sag doch einfach : man darf NICHT durch null teilen. weil 1/UNEDNLICH geht nicht.... (es gibt keine "0", das ist eine 0.000000....periode, also UNENDLICH klein, somit kann man nix durch null teilen) |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: Allerdings funktionieren dieser und ähnliche Tricks nur wenn man ein wenig ahnung davon hat wie 3D und auch Zahlen auf dem PC funktionieren. Sonst könnte es bei zeitunabhängigen Implementation zum Problem kommen, das man eine 0 Division hat weil die differenz prinzipiell 0 ist bei der Zeit und so ... hmm also durch null teilen ist böse ![]() ![]() aber wie kommt es denn nun bei der "zeitunabhängigen implementation" ![]() da fehlt mir wahrscheinlich die von dreamora angesprochende kenntniss bezüglich inneres b3d zahlen und so... |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
ehm, wenn Millisecs-LastUpDate = 0 ist??
oder seh ich das falsch? |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hä, man kann durch 0 nicht teilen, weil das einfach nicht geht. Das hat nichts mit 0 Periode zu tun. Man kann einfach nicht 7 Äpfel durch nichts teilen. Abernichts durch x. Das geht.
Wenn du sagt 0.0 Periode, dann kann ich auch 1.0 Periode sagen. ![]() Oder meintest du das anders? Und 0 ist nicht unendlich klein. 0.0 Periode ist numal 0. So einfach. -1 ist z.B kleiner als 0. Alle negativen Zahlen sind kleiner. ![]() |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein DW.
Es gibt kein "Nichts" in der mathematik (leider^^) ist unendlich klein. kannste meinen Theorie lehrer gern fragen, der wird dir das bestätigen. Denn durch nichts könnte ich ja teilen, aber nicht durch etwas unendlich kleines. |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://de.wikipedia.org/wiki/Null
Wie aus dem link zu erlesen muss ich hier widersprechen. Null steht "für das Nichtvorhandensein von Elementen oder Gegenständen." es gibt also durchaus ein "nichts" in der Mathematik. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber mein Thorie leherer sagt das....
mh wer hat nun recht? |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um es mal ganz simpel zu halten: Wenn Du einen Apfel hast und nimmst davon einen Apfel weg, hast Du ja nicht noch ein unendlich kleines Reststück vom Apfel übrig, sondern schlicht keinen Apfel mehr.
Was Du beschreibst hört sich mehr nach limes-Berechnungen an, also Grenzwertbestimmungen. Dort ist es schon so, dass Du Dich an Zahlen annäherst aber sie nicht erreichst. Das ist aber ein deutlicher Unterschied zu klassischer Mathe- hier sind ja klare Ergebnisse da. Deswegen ist eine Division durch null auch nicht möglich, weil ja kein eindeutiges Ergebnis möglich ist. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh OK, dann hatte der wohl unrecht.
muss ichs wohl gleuben...^^ |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Unrecht nicht.
Aber in der Mathe sind fälle von X/0 implizit immer Limes. Du guckst nie /0 sondern guckst was für lim (y-> 0) x/y passiert, weil es nicht zwingend gegen unendlich gehen muss (in der Theorie. In der IEEE Praxis jedoch unter Garantie weil die Genauigkeit viel zu schnell überstiegen wird für irgendwelches Kovergenzverhalten ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und wenn etwas "unendlich" ist, dann kann man damit so oder so nicht rechnen, da es keine Zahl ist und für den CPU nicht valide. | ||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global bla# = Inf
bla = bla-(10^10) Print bla bla# = 1.0/0.0 Print bla bla = bla-(10^10) Print bla In BMax geht das, ich denke mal in BB auch. Inf ist unendlich. Da kann man zwar nicht ordentlich mit rechnen, aber unmöglich isses nicht. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das Problem ist nicht das Unendlich als solches, sondern die Tatsache, dass alle darauf basierenden Berechnungen falsch sind. Dann kommt man dann zb in die Position, das man sich fragt, warum ein Objekt an Position 280'000,-573283,-2323432 steht anstatt 5 einheiten weiter drüben als vorher. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ähhm, unendlich ist was anderes und dein Beispiel basiert auf was anderes, oder? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
???
Ich scheine es wohl nicht sinnvoll formuliert zu haben: Wenn du irgendwas durch etwas sehr kleines teilst, kommt eine sehr grosse Zahl raus. Da aber bei grossen Zahlen der abstand zwischen floats auch sehr gross ist, wird die zahl noch grösser als sie eh schon wäre. Wenn dann diese Zahl mit etwas multipliziert wird, dann kommt das resultat extrem falsch raus, weil es viel zu gross / zu klein ist. Deswegen ist es wichtig, zu verhindern, das durch zu kleine Zahlen geteilt wird, weil sonst aufgrund der IEEE Zahlenungenauigkeit sehr unerwünschte Resultate entstehen können. Es ist deswegen auch beträchtlich schlimmer, wenn "nur" eine grosse Zahl entsteht, als wenn #inf käme, denn das würde dir eine direkte Reaktion geben die du erkennen kannst. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
X0r |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Deins meinte ich nicht. Ich meinte das BM Beispiel. | ||
Gehe zu Seite Zurück 1, 2, 3, 4
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group