Skip to content

Instantly share code, notes, and snippets.

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

Izris krožnice na zemljevidu

Predposatvimo, da je zemlja krogla.

Podano imamo središče krožnice $B = (\phi, \lambda)$, latituda in longituda, in polmer $c$. Izračunati moramo točke na krožnici $A = (\phi', \lambda')$ za kote $\beta = 0, k, ..., 2\pi$, kjer je $k$ želena natančnost.

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 $c$ podan v kilometrih $d$, ga pretvorimo v radiane $c = \frac{d}{R}$, kjer je $R = 6371$ polmer zemlje.

{
"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 =
import org.antlr.v4.runtime.CharStreams
import org.antlr.v4.runtime.CommonTokenStream
// Implement visitor
fun main(args: Array<String>) {
val stream = CharStreams.fromStream("1 + 1".byteInputStream())
val lexer = GrammarLexer(stream)
val tokens = CommonTokenStream(lexer)
val parser = GrammarParser(tokens)