fix turtle/path rotation, add p5 canvas transformations to adapter from web frontend
This commit is contained in:
parent
7dfaed11e3
commit
d0a5128e0e
|
@ -191,8 +191,11 @@ const turtle_angle = 0.385
|
|||
const turtle_color = [255, 255, 255, 150]
|
||||
|
||||
const p5_call_root = [
|
||||
["push"],
|
||||
["rotate", Math.PI],
|
||||
["scale", -1, 1],
|
||||
["background", ...resolve_color(background_color)],
|
||||
["stroke", ...resolve_color(turtle_init.pencolor)]
|
||||
["stroke", ...resolve_color(turtle_init.pencolor)],
|
||||
]
|
||||
|
||||
function rotate (vector, heading) {
|
||||
|
@ -324,7 +327,8 @@ function p5_render_turtle (state, calls) {
|
|||
const [x2, y2] = rotate(origin, turtle_angle)
|
||||
const [x3, y3] = rotate(origin, -turtle_angle)
|
||||
calls.push(["translate", x, y])
|
||||
calls.push(["rotate", turn_to_rad(heading)])
|
||||
// need negative turtle rotation with the other p5 translations
|
||||
calls.push(["rotate", -turn_to_rad(heading)])
|
||||
calls.push(["noStroke"])
|
||||
calls.push(["beginShape"])
|
||||
calls.push(["vertex", x1, y1])
|
||||
|
@ -353,6 +357,7 @@ export function p5 (commands) {
|
|||
for (const call of calls) {
|
||||
p5_calls.push(call)
|
||||
}
|
||||
p5_calls.push("pop")
|
||||
}
|
||||
p5_calls[0] = ["background", ...resolve_color(background_color)]
|
||||
p5_render_turtle(states[states.length - 1], p5_calls)
|
||||
|
|
Loading…
Reference in New Issue
Block a user