• # Le code du test ne donne pas le résultat attendu

    Posté par . En réponse au message Surfaces de Bézier. Évalué à -2.

     BezierCubique2D bc2 = new BezierCubique2D(new Point3D[][] {
     { new Point3D(-6, -6, 0), new Point3D(-6, -2, 0),
     new Point3D(-6, 2, 0), new Point3D(-6, 6, 0) },
     { new Point3D(-2, -6, 0), new Point3D(-2, -2, 0),
     new Point3D(-2, 2, 0), new Point3D(-2, 6, 0) },
     { new Point3D(2, -6, 0), new Point3D(2, -2, 0),
     new Point3D(2, 2, 0), new Point3D(2, 6, 0) },
     { new Point3D(6, -6, 0), new Point3D(6, -2, 0),
     new Point3D(6, 2, 0), new Point3D(6, 6, 0) }
     }
     );
    
    

    Normalement on devrait voir apparaître une surface plane de forme rectangulaire sur tout l'écran (à peu près). Hors la forme générée ressemble à une feuille de plante.

    Alors pourquoi?

    Je ne crois pas contrairement à ce qui est dit plus haut que ce soit du à un débordement de capacité sur 32 bits car les coefficients sont calculés avec des factorielles limitées au maximum à 3! soit 3*2*1 = 6 (n! avec n=3, i!, (n-i)! avec i=0,1,2,3).