Программирование на smart BASIC. Урок 2

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Программирование на smart BASIC. Урок 2

Post by Mr. Kibernetik »

Ага, теперь понятно что вы хотите.
Значит и рисовать дугу нужно частями с разной прозрачностью, а не всю целиком от -180 до 0 с одной прозрачностью.

Ilirias
Posts: 5
Joined: Tue Apr 07, 2015 10:16 am
My devices: iPad Air

Re: Программирование на smart BASIC. Урок 2

Post by Ilirias »

Mr. Kibernetik wrote:Ага, теперь понятно что вы хотите.
Значит и рисовать дугу нужно частями с разной прозрачностью, а не всю целиком от -180 до 0 с одной прозрачностью.
Правильный вопрос содержит половину ответа) надо мне учиться спрашивать)
А можете на примере показать, как нарисовать дугу частями с разной прозрачностью? Уже голову сломал, но никак не пойму, только вручную разбивать дугу на участки и для каждого указывать свою прозрачность?

User avatar
Mr. Kibernetik
Site Admin
Posts: 4786
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: Программирование на smart BASIC. Урок 2

Post by Mr. Kibernetik »

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

Ilirias
Posts: 5
Joined: Tue Apr 07, 2015 10:16 am
My devices: iPad Air

Re: Программирование на smart BASIC. Урок 2

Post by Ilirias »

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

rfalcon
Posts: 4
Joined: Mon Jan 04, 2016 1:50 pm
My devices: iPad mini2
IPhone 4S
Flag: Ukraine

Re: Программирование на smart BASIC. Урок 2

Post by rfalcon »

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

Есть и такой вариант ;)

Post Reply