Ага, теперь понятно что вы хотите.
Значит и рисовать дугу нужно частями с разной прозрачностью, а не всю целиком от -180 до 0 с одной прозрачностью.
Программирование на smart BASIC. Урок 2
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: Программирование на smart BASIC. Урок 2
Правильный вопрос содержит половину ответа) надо мне учиться спрашивать)Mr. Kibernetik wrote:Ага, теперь понятно что вы хотите.
Значит и рисовать дугу нужно частями с разной прозрачностью, а не всю целиком от -180 до 0 с одной прозрачностью.
А можете на примере показать, как нарисовать дугу частями с разной прозрачностью? Уже голову сломал, но никак не пойму, только вручную разбивать дугу на участки и для каждого указывать свою прозрачность?
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: Программирование на smart BASIC. Урок 2
Ilirias wrote:А можете на примере показать, как нарисовать дугу частями с разной прозрачностью?
Code: Select all
OPTION ANGLE DEGREES
GRAPHICS
DRAW SIZE 50
FOR x=-180 TO 1
DRAW ALPHA 1+x/180
DRAW ARC 200,200,150,x,x+1
NEXT x
Re: Программирование на smart BASIC. Урок 2
Спасибо! Все получилось!) А вот собственно и сам кодMr. Kibernetik wrote:Ilirias wrote:А можете на примере показать, как нарисовать дугу частями с разной прозрачностью?Code: Select all
OPTION ANGLE DEGREES GRAPHICS DRAW SIZE 50 FOR x=-180 TO 1 DRAW ALPHA 1+x/180 DRAW ARC 200,200,150,x,x+1 NEXT x
graphics
option angle degrees ' переводим в градусы
draw color 1,0,0 ' выбираем красный цвет
draw size 35 ' ширина дуги
for x=-180 to 1
draw alpha 1+x/180
draw arc 350,700 , 250 , x,x+1 , 0 ' дуга
next x
draw color 1,165/255,0 ' оранжевый
draw size 35 ' ширина дуги
for x=-180 to 1
draw alpha 1+x/180
draw arc 350,700 , 215 , x,x+1 , 0 ' дуга
next x
draw color 1,1,0 ' желтый
draw size 35 ' ширина дуги
for x=-180 to 1
draw alpha 1+x/180
draw arc 350,700 , 180 , x,x+1 , 0 ' дуга
next x
draw color 1,128/255,0 ' зеленый
draw size 35 ' ширина дуги
for x=-180 to 1
draw alpha 1+x/180
draw arc 350,700 , 145 , x,x+1 , 0 ' дуга
next x
draw color 66/255,170/255,1 ' голубой
draw size 35 ' ширина дуги
for x=-180 to 1
draw alpha 1+x/180
draw arc 350,700 , 110 , x,x+1 , 0 ' дуга
next x
draw color 0,0,1 ' синий
draw size 35 ' ширина дуги
for x=-180 to 1
draw alpha 1+x/180
draw arc 350,700 , 75 , x,x+1 , 0 ' дуга
next x
draw color 139/255,0,1 ' фиолетовый
draw size 35 ' ширина дуги
for x=-180 to 1
draw alpha 1+x/180
draw arc 350,700 , 40 , x,x+1 , 0 ' дуга
next x
Re: Программирование на smart BASIC. Урок 2
graphics
graphics clear 1,1,1
get screen size w,h
option angle degrees
hr=h/32
x=w/2
y=h/2
for i=0 to hr
for j=-180 to 1
draw alpha -j/180
draw color 1,0,0
draw arc x,y,y-i,j,j+1
draw color 1,0.75,0
draw arc x,y,y-i-hr,j,j+1
draw color 1,1,0
draw arc x,y,y-i-2*hr,j,j+1
draw color 0,1,0
draw arc x,y,y-i-3*hr,j,j+1
draw color 0,1,1
draw arc x,y,y-i-4*hr,j,j+1
draw color 0,0,1
draw arc x,y,y-i-5*hr,j,j+1
draw color 0.5,0,1
draw arc x,y,y-i-6*hr,j,j+1
next j
next i
Есть и такой вариант
graphics clear 1,1,1
get screen size w,h
option angle degrees
hr=h/32
x=w/2
y=h/2
for i=0 to hr
for j=-180 to 1
draw alpha -j/180
draw color 1,0,0
draw arc x,y,y-i,j,j+1
draw color 1,0.75,0
draw arc x,y,y-i-hr,j,j+1
draw color 1,1,0
draw arc x,y,y-i-2*hr,j,j+1
draw color 0,1,0
draw arc x,y,y-i-3*hr,j,j+1
draw color 0,1,1
draw arc x,y,y-i-4*hr,j,j+1
draw color 0,0,1
draw arc x,y,y-i-5*hr,j,j+1
draw color 0.5,0,1
draw arc x,y,y-i-6*hr,j,j+1
next j
next i
Есть и такой вариант