The Interactive Geometry Software Cinderella

Forum: Cinderella Support (D)

Forums->Cinderella Support (D)->merkwürdiges verhalten bei repeat funktion

stefan
posts:16
3 stars
merkwürdiges verhalten bei repeat funktion


Hallo Ulli

bei folgender routine passieren merkwürdige dinge;

pts=allpoints();u=0;
forall(pts,p,
repeat(19-p.y,u=u+1));print(u);

interessanterweise für punkt 10,10 ist u=10 und nicht 9, sehe ich den wald vor lauter bäumen nicht? Mfg Stefan

 
on: Tue 09 of Jun, 2009 [09:55 UTC] reads: 90058

Posted messages

author message
Kortenkamp
posts:366
5 stars
Aw: merkwürdiges verhalten bei repeat funktion
on: Tue 09 of Jun, 2009 [10:25 UTC]
Hallo Stefan,

ich glaube, das ist was ganz subtiles: Das p.y ist nicht exakt 10 (liegt an der Dehomogenisierung), sondern 9.99999 oder so. Und damit steht da repeat(9.000001, ...) — und das läuft zehn mal durch.

Das ist blöd, das sehe ich ein. Eine Lösung ist es, p.y durch round(p.y+0.0001) zu ersetzen.

Gruß,

Ulli


author message
stefan
posts:16
3 stars
Aw: Aw: merkwürdiges verhalten bei repeat funktion
on: Tue 09 of Jun, 2009 [14:50 UTC]

Hallo Ulli

Danke für die Antwort. Funktioniert jetzt wie gewünscht. Werde die Problematik im Auge behalten und immer daran denken, das die Koordinaten Annäherungen sein können. Mfg Stefan


author message
Kortenkamp
posts:366
5 stars
Aw: Aw: Aw: merkwürdiges verhalten bei repeat funktion
on: Tue 09 of Jun, 2009 [14:52 UTC]
Welcome to the wonderful world of numerics confused

Ich selbst stolpere da auch immer wieder drüber, aber ich kenne keine sinnvolle Lösung, leider.

Ulli




Show posts:
 
Language