Data update
This commit is contained in:
parent
0df55f9f24
commit
aec8ed51b6
1045 changed files with 18889 additions and 2777 deletions
77
Task/Draw-a-cuboid/EasyLang/draw-a-cuboid.easy
Normal file
77
Task/Draw-a-cuboid/EasyLang/draw-a-cuboid.easy
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
node[][] = [ [ -1 -2 -2 ] [ -1 -2 1 ] [ -1 2 -2 ] [ -1 2 1 ] [ 1 -2 -2 ] [ 1 -2 1 ] [ 1 2 -2 ] [ 1 2 1 ] ]
|
||||
edge[][] = [ [ 1 2 ] [ 2 4 ] [ 4 3 ] [ 3 1 ] [ 5 6 ] [ 6 8 ] [ 8 7 ] [ 7 5 ] [ 1 5 ] [ 2 6 ] [ 3 7 ] [ 4 8 ] ]
|
||||
#
|
||||
proc scale f . .
|
||||
for i = 1 to len node[][]
|
||||
for d = 1 to 3
|
||||
node[i][d] *= f
|
||||
.
|
||||
.
|
||||
.
|
||||
proc rotate angx angy . .
|
||||
sinx = sin angx
|
||||
cosx = cos angx
|
||||
siny = sin angy
|
||||
cosy = cos angy
|
||||
for i = 1 to len node[][]
|
||||
x = node[i][1]
|
||||
z = node[i][3]
|
||||
node[i][1] = x * cosx - z * sinx
|
||||
y = node[i][2]
|
||||
z = z * cosx + x * sinx
|
||||
node[i][2] = y * cosy - z * siny
|
||||
node[i][3] = z * cosy + y * siny
|
||||
.
|
||||
.
|
||||
len nd[] 3
|
||||
proc draw . .
|
||||
clear
|
||||
move 2 2
|
||||
text "Arrow keys to rotate"
|
||||
m = 99999
|
||||
mi = -1
|
||||
for i = 1 to len node[][]
|
||||
if node[i][3] < m
|
||||
m = node[i][3]
|
||||
mi = i
|
||||
.
|
||||
.
|
||||
ix = 1
|
||||
for i = 1 to len edge[][]
|
||||
if edge[i][1] = mi
|
||||
nd[ix] = edge[i][2]
|
||||
ix += 1
|
||||
elif edge[i][2] = mi
|
||||
nd[ix] = edge[i][1]
|
||||
ix += 1
|
||||
.
|
||||
.
|
||||
for ni = 1 to len nd[]
|
||||
for i = 1 to len edge[][]
|
||||
if edge[i][1] = nd[ni] or edge[i][2] = nd[ni]
|
||||
x1 = node[edge[i][1]][1]
|
||||
y1 = node[edge[i][1]][2]
|
||||
x2 = node[edge[i][2]][1]
|
||||
y2 = node[edge[i][2]][2]
|
||||
move x1 + 50 y1 + 50
|
||||
line x2 + 50 y2 + 50
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
textsize 3
|
||||
scale 15
|
||||
rotate 45 45
|
||||
draw
|
||||
on key
|
||||
if keybkey = "ArrowUp"
|
||||
rotate 0 1
|
||||
elif keybkey = "ArrowDown"
|
||||
rotate 0 -1
|
||||
elif keybkey = "ArrowLeft"
|
||||
rotate -1 0
|
||||
elif keybkey = "ArrowRight"
|
||||
rotate 1 0
|
||||
.
|
||||
draw
|
||||
.
|
||||
Loading…
Add table
Add a link
Reference in a new issue