Я пытаюсь отобразить некоторые фишки для бесплатной игры в покер (клиент HTML / Javascript, сервер Python).
Есть места вокруг центра стола.
для каждого места я знаю косинус, синус, радиус (расстояние от центра стола) и массив значений / подсчетов.
Я пытаюсь отобразить все фишки, выровненные и сбалансированные по касательной в точке сидения
В изображении: (я не могу создать изображение так: http://i.stack.imgur.com/a4Obw.png)
на данный момент, я написал этот код:
function balanced_stack( chips, cos, sin, radius )
{
var html = ''
// I receive a chips array like [ [ 100, 8 ], [ 200, 10 ], [ 500, 7 ] ]
// so 8 chips of 100$, 10 chips of 200$ .. etc
for(var i in chips)
{
var value = chips[i][0]; // the token value
var count = chips[i][1]; // the token count
var m = 0; // margin for a single stack
var left = i * 20 * sin + cos * radius;
var top = -i * 20 * cos + sin * radius;
for( var j=1; j<= count; j++ )
{
html += '<img style="z-index:'+( parseInt(top) + 9999)+'; left:'+left+'px; top: '+top+'px; margin-top:'+( -2*m )+'px;" \
src="/images/chips/'+value+'.png" />'
m ++;
}
return html
}
}
но он не сбалансирован и не очень хорошо выглядит.
добавить: косинус и синус могут быть больше 1 и меньше -1, потому что таблица может быть овальной