JavaScript计算N个点均匀排列成圆的各个点坐标

这个方法可以用来支持圆形菜单布局等类似需求:

/**
 * 计算N个点均匀排列成圆的各个点坐标
 * @param nodeSize 参与排列成圆的元素个数
 * @param center 圆的中心点坐标 {x:, y:}
 * @param radius 圆的半径
 * @return 各个元素的坐标:[{x:, y:}, {x:, y:}, ...]
 */
function calcCircularLayout(nodeSize, center, radius) {
	var i, _i, _layouts = [];
	for(i = _i = 0; _i < nodeSize; i = ++_i) {
		var x = center.x + radius * Math.sin(2 * Math.PI * i / nodeSize),
		    y = center.y + radius * Math.cos(2 * Math.PI * i / nodeSize);

		_layouts.push({‘x‘: x, ‘y‘: y});
	}

	return _layouts;
}
时间: 2024-10-12 23:46:43

JavaScript计算N个点均匀排列成圆的各个点坐标的相关文章

javascript实现表格升序降序排列

javascript实现表格升序降序排列的步骤如下: 1,生成表格,并给各列表头添加onclick的排序响应函数 2,取得表格各行的数据,并存入临时数组 3,对该临时数组进行排序 4,利用createDocumentFragment,appendChild方法把排序好的数组转换成表格输出,至此排序完毕. 详细代码如下: 经测试可以直接使用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht

javascript计算字符串的长度区分中英文

javascript计算字符串的长度区分中英文:计算字符串的长度是常有的操作,代码如下: var str="I love 蚂蚁部落"; console.log(str.length); 使用length计算字符串的长度,得出的结果是字符串中字符的个数,而在实际应用中可能需要计算字符串所占有的字节长度,一个汉字占两个字节,一个英文字符占一个字节,代码如下: var zfl={}; zfl.GetLength=function(str){ var realLength=0,len=str.

如何实现多个div水平均匀排列且量两端贴壁

如何实现多个div水平均匀排列且量两端贴壁:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在网页布局中,经常有这样的需求,那就是几个div水平均匀在排列在一个盒子中,并且两端div外侧紧贴盒子内壁,如下图所示:下面先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="

一个能将给定非负整数数组中的数字排列成最大数字的函数

最近在网上看到这样一个题目,自己琢磨了一下. java version "1.8.0_40" // 编写一个能将给定非负整数数组中的数字排列成最大数字的函数. // 例如,给定[50,2,1,9],最大数字为95021. public class Sort { public static void main(String args[]){ int number[] = {1,2,3,32,335,34,7,6,9}; int number1[] = {312,321,3354,222,

每天一个JavaScript实例-处理textarea中的字符成每一行

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>每天一个JavaScript实例-处理textarea中的字符成每一行</title> <script> function clicka(){ console.log("aaa"); var aa = document.get

javascript计算两个时间差

其实,javascript计算时间差的方式非常简单,如果是默认的Date()类型,直接相减就是相差的毫秒 var d1 = new Date('2016/03/28 10:17:22'); var d2 = new Date('2016/03/28 11:17:22'); console.log(parseInt(d2 - d1));//两个时间相差的毫秒数 console.log(parseInt(d2 - d1) / 1000);//两个时间相差的秒数 console.log(parseIn

javascript 计算文件MD5 浏览器 javascript读取文件内容

原则上说,浏览器是一个不安全的环境.早期浏览器的内容是静态的,用户上网冲浪,一般就是拉取网页查看.后来,随着互联网的发展,浏览器提供了非常丰富的用户交互功能.从早期的表单交互,到现在的websocket实时通信,乃至html5的流行. html5给前段开发带来了许多有力的工具,以前浏览器大多通过flash插件进行文件的上传和下载,现在我们可以利用html5给我们带来的fileReader api,读取用户通过表单选中的文件内容. fileReader详情请移步: https://develope

【代码笔记】将图片处理成圆的

一,效果图. 二,工程图. 三,代码. ViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //初始化界面 [self addView]; } #pragma -mark -functions //初始化界面 -(void)addView { UIImageView *imageVie

php GD 圆图 -处理成圆图片

1 <?php 2 /** 3 * 处理成圆图片,如果图片不是正方形就取最小边的圆半径,从左边开始剪切成圆形 4 * @param string $imgpath [description] 5 * @return [type] [description] 6 */ 7 function yuan_img($imgpath = './code_png/share.jpg') { 8 $ext = pathinfo($imgpath); 9 $src_img = null; 10 switch (