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 = |