Legacy Documentation: Version 5.1
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Mathf.Sin

Switch to Manual
public static function Sin(f: float): float;

Parameters

Description

Returns the sine of angle f in radians.

#pragma strict
public class PolyDrawExample extends MonoBehaviour {
	public var numberOfSides: int;
	public var polygonRadius: float;
	public var polygonCenter: Vector2;
	function Update() {
		DebugDrawPolygon(polygonCenter, polygonRadius, numberOfSides);
	}
	// and radius.
	function DebugDrawPolygon(center: Vector2, radius: float, numSides: int) {
		// The corner that is used to start the polygon (parallel to the X axis).
		var startCorner: Vector2 = new Vector2(radius, 0) + polygonCenter;
		// The "previous" corner point, initialised to the starting corner.
		var previousCorner: Vector2 = startCorner;
		// For each corner after the starting corner...
		for (var i: int = 1; i < numSides; i++) {
			// Calculate the angle of the corner in radians.
			var cornerAngle: float = 2f * Mathf.PI / floatnumSides * i;
			// Get the X and Y coordinates of the corner point.
			var currentCorner: Vector2 = new Vector2(Mathf.Cos(cornerAngle) * radius, Mathf.Sin(cornerAngle) * radius) + polygonCenter;
			// 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);
	}
}