je cherche a creer un N-Gone ou polygone a base de rectangle pour creer une demi-sphere
....______
.../...........\
../.............\
.|...............|
c est pas vraiment tres spherique mon truc la, mais c est pour donner une idee
en gros je commence comme ceci
Action Script
function transfDegreeToRadian(a:Number):Number
{
var r:Number = Math.PI * 2 * (a / 360);
return r;
}
var angleRef:uint = 9;
var angle = transfDegreeToRadian(angleRef);
var a:Number = 300; // largeur de mon cercle
var h:Number = a/2;
var leftPos:Number = ( a / 2);
for (var j:uint = 0; j < 180/angleRef; j++)
{
var angleLive = -1 * (( -angleRef * (1 + j)) ); //calcul de l angle au fur et a mesure de l avancement dans la boucle
var angleLiveRad = transfDegreeToRadian(angleLive); //calcul de l angle precedent en radian pour d'autres calculs
trace("angleLive :" + angleLive + " angleRad :" + angleLiveRad);
var lengthC:Number = 2*Math.sqrt(Math.abs(((Math.cos(angle/2)*a)-a))*((Math.cos(angle/2) * a) + a)); // valeur de mon cote C qui correspond a la largeur du rectangle qui se trouve sur la tangente du cercle
trace("lengthC :" + lengthC);
var lengthB:Number = Math.abs(Math.sin(angleLive / 2) * lengthC) ; // positionnement de mon rectangle sur les X
var lengthH:Number = Math.sqrt(lengthC * lengthC + lengthB * lengthB); // positionnement de mon rectangle sur les Y
trace("lengthH :" + lengthH);
var firstLengthB:Number;
var firstLengthH:Number;
if (j == 0)
{
firstLengthB = lengthB;
firstLengthH = lengthH;
}
if (j > 0)
{
lengthB = lengthB + previousLengthB;
lengthH = lengthH + previousLengthH;
}
var previousLengthB:Number = lengthB;
var previousLengthH:Number = lengthH;
trace("lengthB :" + lengthB);
var myLine:Shape = new Shape();
myLine.graphics.lineStyle(2, 0xFF6600);
myLine.graphics.beginFill(0xFFCC00, 1);
myLine.graphics.drawRect((leftPos-firstLengthB)+lengthB, (h+firstLengthH)-lengthH, 20, lengthC);
myLine.graphics.endFill();
myLine.rotation = angleLive;
addChild(myLine);
}
bon voila le resultat est pas tres proche d une sphere
mais ca fait longtemps que j ai pas fait de trigo, tres longtemps
une petite piste?
