unity圆内随机一个点

/// <summary>
        /// 根据半径随机出园内的点
        /// </summary>
        /// <param name="vRadius"></param>
        /// <returns></returns>
        public static Vector2 GetRandomInCircle(float vRadius)
        {
            var randomValue = Random.Range(0f, 1f);
            var r = Mathf.Sqrt(randomValue) * vRadius;
            randomValue = Random.Range(0f, 1f);
            var theta = 2 * Mathf.PI * randomValue;
            //生成x,y坐标,
            var x = r * Mathf.Cos(theta);
            var y = r * Mathf.Sin(theta);
            return new Vector2(x, y);
        }

  

posted @ 2023-09-05 15:00  色色先生  阅读(252)  评论(0编辑  收藏  举报