### Contents

1. Array(List)
2. Functions
1. Argument / Return value
2. Built-in Functions
3. Import Functions(Standard Library)
3. RhinoScriptSyntax
4. Practice
1. Random Points
2. Matrix of Points
3. Spiral Points Pattern

#### 1. List(Array) List(Array) is variable that can store multiple values. We can declare array and pick certain value from them like following:

```array = [0,1,2,3,4,5,6,7,8,9]
a = array
print(a)
```

List in python is variable length list and is able to be added or removed .

• .append(val)  – add “val” to the last value in the list
• .remove(N)  – remove “N”th value in the list
```array = [] #blank list
print array
array.append(10)
print array
array.append(0)
print array
array.append('text')
print array
array.remove(0)
print array
```

For example, the numbers can be stored continuously in combination with For statement

```array = []
for i in range(10):
array.append(i)
print array
```

### 2. Functions

#### 2.1. Argument / Return value

Functions are mathematical formula that have input value(=Argument) and output value(=Return value).
print() is also one of the many python’s functions (but don’t have Return value). #### 2.2. Built-in Functions

The Python interpreter has a number of functions built into it that are always available.

```
#############################################################
#Built-in Functions
#############################################################

#abs(x)
#Return the absolute value of a number.
a = abs(-2)
print a

#int(x)
#Return an integer object constructed from a number or string x,
i1 = int(1.2030830)
i2 = int("100")
print i1
print i2

#round(number[, ndigits])
#Return the floating point value number rounded to "ndigits" digits after the decimal point.
#If ndigits is omitted, it returns the nearest integer to its input.
r1 = round(1.913907)
r2 = round(1.913907, 3)
print r1
print r2

```

#### 2.3. Import Functions(Standard Library)

You can use any Python source file as a module by executing an import statement.

```#############################################################
#Random Library
#Generate random numbers
#############################################################

#import random library
import random

#random.randint(a, b)
#Return a random integer N such that a <= N <= b. Alias for randrange(a, b+1).
r = random.randint(0, 10)
print  r

#random.uniform(a, b)
#Return a random floating point number N such that a <= N <= b for a <= b and b <= N <= a for b < a.
u = random.uniform(0.0,10.0)
print u

#############################################################
#Math Library
#Mathematical functions
#############################################################

#import math library
import math

#math.sqrt(x)
#Return the square root of x.
s = math.sqrt(9)
print s

#math.pi
#It don't have "argument" value.
#pi - Ratio of the circumference of a circle to its diameter; Pi
#The mathematical constant pi = 3.141592..., to available precision.

p = math.pi
print p

#math.e
#It don't have "argument" value.
#e - Napier's constant of natural logarithm
#The mathematical constant e = 2.718281..., to available precision.
e = math.e
print e

#math.sin(x)
#Return the sine of x radians.
s = math.sin(math.pi/4) #sin(45degrees)
print s

#math.cos(x)
#Return the cosine of x radians.
c = math.cos(math.pi/4) #cos(45degrees)
print c

#math.tan(x)
#Return the tangent of x radians.
t = math.tan(math.pi/4) #tan(45degrees)
print t
```

*

[Tips] – import “as”

```#############################################################
#Tips
#import "as" - Abbreviation definition of library name
#############################################################

#import and omit math library to m
import math as m
#import and omit random library to t
import random as r

r.uniform(0,10) #it can run.
print r

m.sqrt(9) #it can run.
print m
```

### 3. RhinoScriptSyntax

#### 3.1. Import RhinoScriptSyntax

To use Rhino function in python, you can use rhinoscriptsyntax. Using rhinoscriptsyntax, you need to import the library. You can import the library by following:

```import rhinoscriptsyntax as rs
```

There are bunch of functions in rhinosctiptsyntax. Followings are examples of them.

You can draw a point, circle and polyline like following

```import rhinoscriptsyntax as rs

#draw a point with x,y,z coordinates

#draw a circle with center point and radius

#draw a polyline with a list of points
```

You can move and copy object like following:

```import rhinoscriptsyntax as rs

#rs.MoveObject(object_id, translation_vector)
rs.MoveObject(obj, [100,0,0])

#rs.CopyObject(object_id, copy_vector)
rs.CopyObject(obj, [0,100,0])
```

You can get object from Rhino like following:

```import rhinoscriptsyntax as rs

#rs.GetObject() - don't need argument
obj = rs.GetObject()

rs.CopyObject(obj, [0,100,0])
```

`Help -> Pyhton Help`

### 4. Practice

Please send your program data to Shuta by the end of the day
Submission is closed.

#### 4.1. Random Points

Please plot points as folowing figure by python scripting #### 4.2. Matrix of Points

Please plot points as folowing figure by python scripting #### 4.3. Spiral Points Pattern

Please plot points as folowing figure by python scripting
[reference]Trigonometric functions:https://en.wikipedia.org/wiki/Trigonometric_functions 