Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

08 мая 2025 Чт Эмеральд

Подумал как-то с утра, сделать бы эмеральд на спектруме и сделал что-то. Получилось оно или нет, мне известно не настолько точно, тем более я сделал код на модифицированном предбейсике для спектрума.
clipboard.png
Чтобы не потерять его и полимеры впридачу, просто покажу как он выглядит в бейсик-виде. Этот эмеральд рисуется немало времени, в пределах 4 секунд на 3.5 мгц процессоре.
BORDER 0: PAPER 0: INK 7: CLS

LET CX=0
LET CY=-0.5
LET CZ=2
LET K=1.1

LET X=0: LET Y=-1: LET Z=0
GO SUB #A
LET DX=XP: LET DY=YP
LET F=0

FOR I=2 TO 4.5 STEP 1.046/2

 LET X1=SIN(I): LET Z1=COS(I)
 LET X2=SIN(I)*K: LET Z2=COS(I)*K

-- Верхняя точка

 LET X=X1: LET Y=1: LET Z=Z1: GO SUB #A
 PLOT XP,YP
 IF F=0 THEN GO TO #PA
 DRAW AX-XP,AY-YP

#PA REM "SKIP 1"

 LET AX=XP: LET AY=YP: REM "PREV POINT1"
 LET X0=XP: LET Y=0.7: LET Y0=YP

 LET X=X2: LET Z=Z2: GO SUB #A
 PLOT AX, AY: DRAW XP-AX,YP-AY
 IF F=0 THEN GO TO #PB
 DRAW BX-XP, BY-YP

#PB REM "SKIP 2"
 LET BX=XP: LET BY=YP: REM "PREV POINT2"

-- Грань кристалла
 PLOT BX,BY: DRAW DX-BX,DY-BY

 LET F=1

NEXT I

STOP

#A REM "PROJECTION"
LET XP=128+(X+CX)*85/(CZ+Z)
LET YP=85+(Y+CY)*85/(CZ+Z)
RETURN
clipboard.png clipboard.png
Теги: Спектрум