forked from HEL/rivet-typst
		
	ported rivet to typst
This commit is contained in:
		
							
								
								
									
										44
									
								
								src/vec.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								src/vec.typ
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| #let vec(x, y) = { | ||||
|   return (x: x, y: y) | ||||
| } | ||||
|  | ||||
| #let add(v1, v2) = { | ||||
|   return vec( | ||||
|     v1.x + v2.x, | ||||
|     v1.y + v2.y | ||||
|   ) | ||||
| } | ||||
|  | ||||
| #let sub(v1, v2) = { | ||||
|   return vec( | ||||
|     v1.x - v2.x, | ||||
|     v1.y - v2.y | ||||
|   ) | ||||
| } | ||||
|  | ||||
| #let mul(v, f) = { | ||||
|   return vec( | ||||
|     v.x * f, | ||||
|     v.y * f | ||||
|   ) | ||||
| } | ||||
|  | ||||
| #let div(v, f) = { | ||||
|   return vec( | ||||
|     v.x / f, | ||||
|     v.y / f | ||||
|   ) | ||||
| } | ||||
|  | ||||
| #let mag(v) = { | ||||
|   return calc.sqrt(v.x * v.x + v.y * v.y) | ||||
| } | ||||
|  | ||||
| #let normalize(v) = { | ||||
|   let m = mag(v) | ||||
|  | ||||
|   if m == 0 { | ||||
|     return (x: 0, y: 0) | ||||
|   } | ||||
|   return div(v, m) | ||||
| } | ||||
		Reference in New Issue
	
	Block a user