Predposatvimo, da je zemlja krogla.
Podano imamo središče krožnice
V geometriji na krogli kote in razdalje merimo v radianih.
Razdalja med dvema točkama je kot loka skozi ti dve točki.
Torej, če imamo polmer krožnice
| import bpy | |
| from typing import Sequence, TypeVar, Generic | |
| from bpy_extras import io_utils, node_shader_utils | |
| from dataclasses import dataclass | |
| import io | |
| import mathutils | |
| import math | |
| lvl = 2 |
| DG: | |
| 1. Prepišeš produkcije X_0 -> X_1 ... X_n v obliko: | |
| X_0 -- zgornja vrstica | |
| / | \ | |
| X_1...X_n -- spodnja vrstica | |
| 2. Dodaš atribute za vsak neterminal, podedovane na levo, pridobljene na desno. | |
| podedovani a b c | |
| pridobljeni x y z |
Predposatvimo, da je zemlja krogla.
Podano imamo središče krožnice
V geometriji na krogli kote in razdalje merimo v radianih.
Razdalja med dvema točkama je kot loka skozi ti dve točki.
Torej, če imamo polmer krožnice
| { | |
| "features": [ | |
| { | |
| "geometry": { | |
| "coordinates": [ | |
| [ | |
| [ | |
| 15.638578964233398, | |
| 46.558738950356016 | |
| ], |
| class Recognizer(private val scanner: Scanner) { | |
| private var last: Token? = null | |
| fun recognizeStart(): Boolean { | |
| last = scanner.getToken() | |
| val result = // recognize...(); | |
| return when(last?.symbol) { | |
| Symbol.EOF -> result | |
| else -> false | |
| } |
| import java.io.InputStream | |
| import java.io.OutputStream | |
| const val ERROR_STATE = 0 | |
| enum class Symbol { | |
| EOF, | |
| SKIP, | |
| FOR, | |
| FOREACH, |
| mkfifo pipe | |
| trap "rm pipe; exit;" SIGINT SIGTERM | |
| while true | |
| do | |
| ./run.sh <(cat pipe | netcat -lvN localhost 8080) >(cat - >pipe) | |
| done |
| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| Hello | |
| </body> | |
| </html> |
| class Bezier(private val p0: Coordinates, private val p1: Coordinates, private val p2: Coordinates, private val p3: Coordinates) { | |
| fun at(t: Double) = | |
| p0 * (1.0 - t).pow(3.0) + p1 * 3.0 * (1.0 - t).pow(2.0) * t + p2 * 3.0 * (1.0 - t) * t.pow(2.0) + p3 * t.pow(3.0) | |
| fun toPoints(segmentsCount: Int): List<Coordinates> { | |
| val ps = mutableListOf<Coordinates>() | |
| for (i in 0 .. segmentsCount) { | |
| val t = i / segmentsCount.toDouble() | |
| ps.add(at(t)) |
| object Demo { | |
| interface List { | |
| fun <T> foldRight(f: (value: Int, tail: T) -> T, last: T): T | |
| fun <T> foldLeft(f: (tail: T, value: Int) -> T, accumulator: T): T | |
| fun toBinaryRight(previous: Binary): Binary | |
| fun toBinaryLeft(accumulator: Binary): Binary | |
| } | |
| class Cell(private val value: Int, private val tail: List): List { | |
| override fun toString(): String = |