版本:Unity 6 (6000.0)
语言English
  • C#

Mathf.Cos

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static float Cos(float f);

参数

f 输入角度,以弧度为单位。

返回值

float 返回值介于 -1 和 1 之间。

描述

返回角度 f 的余弦值。

注意:如果在此函数中使用非常大的数字,则此方法的输入角度值存在可接受的范围,超出此范围,计算将失败。在 Windows 上,可接受的范围大约在 -9223372036854775295 到 9223372036854775295 之间。此范围在其他平台上可能有所不同。对于超出可接受范围的值,Cos 方法会返回输入值,而不是抛出异常。

其他资源:SinTan

using UnityEngine;
using System.Collections;

public class PolyDrawExample : MonoBehaviour { public int numberOfSides; public float polygonRadius; public Vector2 polygonCenter;

void Update() { DebugDrawPolygon(polygonCenter, polygonRadius, numberOfSides); }

// Draw a polygon in the XY plane with a specfied position, number of sides // and radius. void DebugDrawPolygon(Vector2 center, float radius, int numSides) { // The corner that is used to start the polygon (parallel to the X axis). Vector2 startCorner = new Vector2(radius, 0) + center;

// The "previous" corner point, initialised to the starting corner. Vector2 previousCorner = startCorner;

// For each corner after the starting corner... for (int i = 1; i < numSides; i++) { // Calculate the angle of the corner in radians. float cornerAngle = 2f * Mathf.PI / (float)numSides * i;

// Get the X and Y coordinates of the corner point. Vector2 currentCorner = new Vector2(Mathf.Cos(cornerAngle) * radius, Mathf.Sin(cornerAngle) * radius) + center;

// Draw a side of the polygon by connecting the current corner to the previous one. Debug.DrawLine(currentCorner, previousCorner);

// Having used the current corner, it now becomes the previous corner. previousCorner = currentCorner; }

// Draw the final side by connecting the last corner to the starting corner. Debug.DrawLine(startCorner, previousCorner); } }