| |
|
|
- Página 1 - |
|
|
Weil du siempre todavía no verständlich erklärt hast, qué nprocs son.
¡Hola Nico,
danke para el Referencia y Aquí el hilo - desafortunadamente kann Yo así aber nichts anfangen como Yo no wissen kann, qué No verstehst.
Vlt. kannst Usted me bajo Beachtung el Documentación [...] sagen, qué Usted unklar es.
Inline-Ensamblador:
|
|
|
| |
|
|
| |
|
- Página 5 - |
|
|
Nico Madysa | Keine Änderung. Sowie Yo el Float()s de el Funktionsausruf entferne, se alles salvo el Koordinatenachsen weiß. (Exakt el obige Blödsinn.) |
|
|
| |
|
|
|
| Aber schau mal: KompilierenMarcaSeparación {$cle}
Gemerkt/Separiert von http://xprofan.com/thread.core?t=7915#bottom
{Farbe
nproc Farbe
parameters ca!,cb!
var za! = 0.0 : var zb! = 0.0
var n& = 0 : var tmp! = 0.0
var itera&=0
repeat
itera&+
n& = n& + 1
tmp! = za!
za! = Sqr(za!) - Sqr(zb!) + ca!
zb! = 2.0*tmp!*zb!+cb!
tmp! = Sqrt(Sqr(za!)+Sqr(zb!))
until (n& >= 255) or (tmp! > 2.0)
var f! = 255.0 * (1.0 - float(n&) / 255.0)
var v&=int(f!)
return RGB(v&,v&,v&)
endproc
proc Farbe2
parameters ca!,cb!
var za! = 0.0 : var zb! = 0.0
var n& = 0 : var tmp! = 0.0
var itera&=0
repeat
itera&+
n& = n& + 1
tmp! = za!
za! = Sqr(za!) - Sqr(zb!) + ca!
zb! = (2.0 * tmp! * zb!) + cb!
tmp! = Sqrt(Sqr(za!) + Sqr(zb!))
until (n& >= 255) or (tmp! > 2.0)
var f& = int(255.0 * (1.0 - (n&) / 255.0))
exitprocess(f&)
return RGB(f&,f&,f&)
endproc
{Male
proc Male
parameters x1&,y1& , genau&
declare xi&,yi&
x1& = xi& + 2 * genau&
y1& = yi& + genau&
whileloop (0 - genau&),genau&
yi& = &loop
whileloop (0 - 2) * genau&,genau&
xi& = &loop
SetPixel(%hDC,x1& + xi&,y1& + yi&,Farbe(float(xi&) / float(genau&),float(yi&) / float(genau&)))
SetPixel x1& + xi&,y1& + yi&,Farbe(xi&/genau&,yi&/genau&)
EndWhile
EndWhile
endproc
proc Male2
parameters x1&,y1& , genau&
declare xi&,yi&
x1& = xi& + 2 * genau&
y1& = yi& + genau&
whileloop (0 - genau&),genau&
yi& = &loop
whileloop (0 - 2) * genau&,genau&
xi& = &loop
SetPixel(%hDC,x1& + xi&,y1& + yi&,Farbe(float(xi&) / float(genau&),float(yi&) / float(genau&)))
SetPixel 200+x1& + xi&,y1& + yi&,Farbe2(xi&/genau&,yi&/genau&)
EndWhile
EndWhile
endproc
cls
Male(200,200 , 50)
Male2(200,200 , 50)
waitinput
end
|
|
|
| |
|
|
|
Nico Madysa | Das heißt, dass el Fehler en el Proc Male liegt. Ist ellos profano, así se ejecuta alles como gewünscht.
PS: Was se eigentlich dieses itera& bewirken? |
|
|
| |
|
|
|
| Nein mostrar doch, el Male es normale proc. Der Fehler entsteht en nproc farbe - aber finde el Rechenfehler no, Por favor, mostrar una vez. |
|
|
| |
|
|
|
Nico Madysa | Yo fasse mi Beobachtungen veces zusammen:
Eins. Beide Male-Prozeduren son Profano. Farbe1 es nativ, Farbe2 es profano. Male1 y Male2 unterscheiden se allein en él, dass el una Farbe 1, el otro Farbe2 aufruft.
Zwei. Male1 zermatscht el Figur, während Male2 alles sauber (allerdings langsam) características.
Drei. Mache Hice Farbe2 una native Función, así stürzt el Programa de. Ändere Yo entonces (n&) en float(n&) en, así passiert gar nichts.
Irgendwie Será mejor que te va siempre rätselhafter. |
|
|
| |
|
|
|
Nico Madysa | IF, el Punkt es, dass el native Función en el Gegensatz a profanen Procedimiento siempre todavía no el korrekte Ergebnis liefert, si wohl beide äquivalent ser debería. |
|
|
| |
|
|
|
| Sí, natürlich - por lo tanto gehts.
Ein Schritt más, habe beide Male en proc gesetzt - sólo farbe como nProc. Yo fand pero no el Punto a el el Rechenfehler auftritt - funktioniert hats en me aber.
Drum el Cuestión, si No vlt. veces schauen könntest, si Usted el Punto findest, a el una falsches Ergebnis berechnet se. |
|
|
| |
|
|
|
Nico Madysa | Aha! Dass uno dir siempre alles de el Nase ziehen muss.
Heute Será mejor que te va nichts mehr, morgen muss Yo früh fuera. Aber veces sehen, immerhin es Mittwoch unterrichtsfrei. Entweder mache Yo como XProfan oder Yo besetze una Hörsaal. [...] |
|
|
| |
|
|
|
| Hab como una Fehler gefunden, ha tal vez darauf Einfluss - veces beim nächsten Actualización schauen. |
|
|
| |
|
|
|
| IF, Beitrag=54995, Zeitpunkt=16.11.2009
ha tal vez darauf Einfluss
Definitiv incluso, Fehler en Floatzuweisung gefunden! Tiempo schauen, vlt. kann Yo, el incluso heute Abend ya beheben - komme aber sólo muy spät otra vez después de Berin rein. |
|
|
| |
|
|
|
| @Nico: Fehler en el XPSE Fijo, dankesehr y ahora klappts auch con el Brot!
Descargar
KompilierenMarcaSeparación {$cle}
Gemerkt/Separiert von http://xprofan.com/thread.core?t=7915#bottom
cls
Male(200,200 , 50)
Male2(200,200 , 50)
while 1
waitinput
wend
end
nproc Farbe
parameters ca!,cb!
var za! = 0.0 : var zb! = 0.0
var n& = 0 : var tmp! = 0.0
var itera&=0
var tmps$=""
repeat
itera&+
n& = n& + 1
tmp! = za!
za! = Sqr(za!) - Sqr(zb!) + ca!
zb! = 2.0*tmp!*zb!+cb!
tmp! = Sqrt(Sqr(za!)+Sqr(zb!))
until (n& >= 255) or (tmp! > 2.0)
var v& = int(255.0 * (1.0 - float(n&) / 255.0))
return RGB(v&,v&,v&)
endproc
proc Farbe2
parameters ca!,cb!
var za! = 0.0 : var zb! = 0.0
var n& = 0 : var tmp! = 0.0
var itera&=0
var tmps$=""
repeat
itera&+
n& = n& + 1
tmp! = za!
za! = Sqr(za!) - Sqr(zb!) + ca!
zb! = (2.0 * tmp! * zb!) + cb!
tmp! = Sqrt(Sqr(za!) + Sqr(zb!))
until (n& >= 255) or (tmp! > 2.0)
var f& = int(255.0 * (1.0 - (n&) / 255.0))
return RGB(f&,f&,f&)
endproc
{Male
proc Male
parameters x1&,y1& , genau&
declare xi&,yi&
x1& = xi& + 2 * genau&
y1& = yi& + genau&
whileloop (0 - genau&),genau&
yi& = &loop
whileloop (0 - 2) * genau&,genau&
xi& = &loop
SetPixel x1& + xi&,y1& + yi&,Farbe(xi&/genau&,yi&/genau&)
EndWhile
EndWhile
endproc
proc Male2
parameters x1&,y1& , genau&
declare xi&,yi&
x1& = xi& + 2 * genau&
y1& = yi& + genau&
whileloop (0 - genau&),genau&
yi& = &loop
whileloop (0 - 2) * genau&,genau&
xi& = &loop
SetPixel 200+x1& + xi&,y1& + yi&,Farbe2(xi&/genau&,yi&/genau&)
EndWhile
EndWhile
ENDPROC
|
|
|
| |
|
|
|
Nico Madysa | Hausaufgaben endlich hecho, ahora kanns otra vez a el N-Procs ir.
Sombrero algo gedauert, aber: Puedo deine Ergebnisse bestätigen, ahora läufts en me auch. Also frisch a el nächsten Intento! |
|
|
| |
|
|