|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
24.05.2015, 18:12 | #1 (permalink) |
Member
Регистрация: 12.01.2015
Сообщений: 71
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Изображение шара в Pascal
|
24.05.2015, 18:12 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Некоторые темы по содержанию очень напоминают вашу тему Погрешности для вычисления объема шара. Численные методы Создание развертки шара Изображение пропадает |
24.05.2015, 18:55 | #3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Но тут действительно нужно знать, в каком Паскале это требуется. В графических заданиях такая информация обязательна. |
|
25.05.2015, 06:54 | #5 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Ну и в чем проблема? Вы не знаете, как организовать заливку?
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
25.05.2015, 14:18 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Увы-увы, у меня получается такой... шероховатый. В общем, надо издали смотреть и без очков - тогда нормально. Вот - в Turbo (Free):
Код:
Uses Graph, CRT; Var R1,X1,Y1,X2,Y2,X,Y:Word; Sgm:Real; i:LongInt; Procedure Gs(Sigma:Real; var Xg:Word; var Yg:Word); var u,v,x,y:real; begin u:=Random; v:=Random; x:=Sqrt(-Ln(v)*2)*Cos(u*2*Pi)*Sigma; y:=Sqrt(-Ln(v)*2)*Sin(u*2*Pi)*Sigma; if Sqrt(Sqr(X2+x-1.0*X1)+Sqr(1.0*Y2-y-Y1))>R1 then begin Xg:=X2; Yg:=Y2; end else begin Xg:=Round(1.0*X2+x); Yg:=Round(1.0*Y2-y); end; end; Begin InitGraph(... { Тут - самостоятельно! } Randomize; SetBkColor(7); R1:=GetMaxY div 4; X1:=GetMaxX div 2; Y1:=GetMaxY div 2; SetColor(8); SetFillStyle(SolidFill,8); FillEllipse(X1,Y1,R1,R1); X2:=Round(X1+0.3*R1); Y2:=Round(Y1-0.3*R1); Sgm:=R1/3; {Red} for i:=1 to 400000 do begin Gs(Sgm,X,Y); PutPixel(X,Y,4); end; Sgm:=R1/4; {LightRed} for i:=1 to 80000 do begin Gs(Sgm,X,Y); PutPixel(X,Y,12); end; Sgm:=R1/5; {Yellow} for i:=1 to 10000 do begin Gs(Sgm,X,Y); PutPixel(X,Y,14); end; ReadKey; CloseGraph; End. |
30.05.2015, 01:05 | #8 (permalink) |
Member
Регистрация: 12.01.2015
Сообщений: 71
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Vladimir_S, я знаю, что нужно использовать формулу расчета видимости яркости гладкой поверхности с учетом зеркального отражения(она на фото). Но как её применить я не знаю...Может вы знаете?
|
30.05.2015, 09:02 | #9 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Ладно, раз примененное мною гауссово распределение не годится, попробую с косинусным. P.S. Мгновенно не обещаю. P.P.S. Но задачка - интересная. |
|
31.05.2015, 02:50 | #10 (permalink) |
Member
Регистрация: 12.01.2015
Сообщений: 71
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Vladimir_S, буду очень рада, если подскажите! Получается, нельзя сделать плавного перехода в цвете?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
pascal, задача, помощь |
Опции темы | |
Опции просмотра | |
|
|