已知圆心坐标和圆半径,如何得到圆边所有的点的坐标?

darkfxux7788 2008-03-18 12:19:46
JS如何来做?
...全文
869 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkfxux7788 2008-03-20
  • 打赏
  • 举报
回复
有没好方法啊?
超级大笨狼 2008-03-19
  • 打赏
  • 举报
回复

灌水机代码:www.dullwolf.cn/CSDNer.rar下载。
一品梅 2008-03-19
  • 打赏
  • 举报
回复

jf jf
jf jf
jf
darkfxux7788 2008-03-19
  • 打赏
  • 举报
回复
太拥挤了,有什么算法可以不会相互重叠?如果太多能否向外圈扩展?
xingchenbbs 2008-03-19
  • 打赏
  • 举报
回复
星辰技术社区:www.netcsharp.cn,我们将帮您以最快的速度找到最佳的解决方案
darkfxux7788 2008-03-19
  • 打赏
  • 举报
回复
哇,好好看哦~~~~,怎么都跑这里灌水来了?那边分给你了,这边继续讨论
EdmundBull 2008-03-18
  • 打赏
  • 举报
回复
怎么可能是所有的点?
myvicy 2008-03-18
  • 打赏
  • 举报
回复

<body>
</body><script>
r = 100;//半径
o = [200,150]//圆心
x1=[]
y1=[]
for(i=0;i<360;i++){//调整i的步长来求div的分布点坐标
angle = Math.PI / 180 * i;
x1[i]=o[0]+r*Math.sin(angle)
y1[i]=o[1]+r*Math.cos(angle)
div = document.createElement("div")
div.style.top = y1[i]+"px"
div.style.left = x1[i]+"px"
div.style.width = "100px";
div.style.height = "100px";
div.style.position = "absolute";
div.style.border = "1px solid #EEE";
div.style.background = "#CCC";
document.body.appendChild(div);
}

for(i=0;i<360;i+=30){//调整i的步长来求div的分布点坐标
angle = Math.PI / 180 * i;
x1[i]=o[0]+400+r*Math.sin(angle)
y1[i]=o[1]+r*Math.cos(angle)
div = document.createElement("div")
div.style.top = y1[i]+"px"
div.style.left = x1[i]+"px"
div.style.width = "100px";
div.style.height = "100px";
div.style.position = "absolute";
div.style.border = "1px solid #EEE";
div.style.background = "#CCC";
document.body.appendChild(div);
}
for(i=0;i<10;i++){//调整i的步长来求div的分布点坐标
angle = (Math.PI / 180 )* 360*Math.random();
x1[i]=o[0]+r*Math.sin(angle)
y1[i]=o[1]+300+r*Math.cos(angle)
div = document.createElement("div")
div.style.top = y1[i]+"px"
div.style.left = x1[i]+"px"
div.style.width = "50px";
div.style.height = "50px";
div.style.position = "absolute";
div.style.border = "1px solid #EEE";
div.style.background = "#CCC";
document.body.appendChild(div);
}
</script>
myvicy 2008-03-18
  • 打赏
  • 举报
回复

<body>
</body><script>
r = 100;//半径
o = [200,200]//圆心
x1=[]
y1=[]
for(i=0;i<360;i++){//调整i的步长来求div的分布点坐标
angle = Math.PI / 180 * i;
x1[i]=o[0]+r*Math.sin(angle)
y1[i]=o[1]+r*Math.cos(angle)
div = document.createElement("div")
div.style.top = y1[i]+"px"
div.style.left = x1[i]+"px"
div.style.width = "100px";
div.style.height = "100px";
div.style.position = "absolute";
div.style.border = "1px solid #EEE";
div.style.background = "#CCC";
document.body.appendChild(div);
}

for(i=0;i<360;i+=30){//调整i的步长来求div的分布点坐标
angle = Math.PI / 180 * i;
x1[i]=o[0]+400+r*Math.sin(angle)
y1[i]=o[1]+r*Math.cos(angle)
div = document.createElement("div")
div.style.top = y1[i]+"px"
div.style.left = x1[i]+"px"
div.style.width = "100px";
div.style.height = "100px";
div.style.position = "absolute";
div.style.border = "1px solid #EEE";
div.style.background = "#CCC";
document.body.appendChild(div);
}
</script>
darkfxux7788 2008-03-18
  • 打赏
  • 举报
回复
angle = Math.PI / 180 * i;都是同一角度,放置的DIV都堆到了一起,好像不行啊
darkfxux7788 2008-03-18
  • 打赏
  • 举报
回复
其实我是想改随机排列的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
div
{
width:100px;
height:100px;
border: 1px dotted red;
position:absolute;
overflow:auto;
}
</style>

</head>
<body>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</body>
<script type="text/javascript">
/*
var x = Math.ceil(1024/2);
var y = Math.ceil(768/2);
r = 100;//半径
o = [x,y]//圆心
for(i=0;i<360;i++){//调整i的步长来求div的分布点坐标
angle = Math.PI / 180 * i;
x1[i]=o[0]+r*Math.sin(angle)
y1[i]=o[1]+r*Math.cos(angle)
}
*/
var x = Math.ceil(1024/2);
var y = Math.ceil(768/2);

var r = 100;//半径
var o = [x,y]//圆心

var oPosition = new Object();
oPosition.x = 0;
oPosition.y = 0;

var obj_divs=document.getElementsByTagName("div");

var angle = Math.PI / 180 * 360*Math.random();//随机角度

for(var i=0; i<obj_divs.length; i++)
{
for(var k=0; k<=5; k++)
oPosition.x = o[0]+r*Math.sin(angle);
oPosition.y = o[1]+r*Math.cos(angle);

obj_divs[i].style.left = oPosition.x + "px";
obj_divs[i].style.top = oPosition.y + "px";
}

//------------------------------------//
function isInteractOnEachOther(oPos)
{
var bIsInteract = false;

for (var i=0; i<aX.length; i++)
{
if ( ((oPos.x>(aX[i]-iDivWidth))&&(oPos.x<(aX[i]+iDivWidth)))
&& ((oPos.y>(aY[i]-iDivHeight))&&(oPos.y<(aY[i]+iDivHeight))) )
{
bIsInteract = true;
break;
}
}

if (!bIsInteract)
{
aX[aX.length] = oPos.x;
aY[aY.length] = oPos.y;
}

return bIsInteract;
}

}
</script>
</html>


结果不成功
myvicy 2008-03-18
  • 打赏
  • 举报
回复
JScript code
r = 100;//半径
o = [x,y]//圆心
for(i=0;i<360;i++){//调整i的步长来求div的分布点坐标
angle = Math.PI / 180 * i;
x1[i]=o[0]+r*Math.sin(angle)
y1[i]=o[1]+r*Math.con(angle)
}

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧