Render.ru

Кривизна

#1
Люди, я чегой-то запутался в трех соснах. Как в шейдере вычислить кривизну поверхности по U и V? Теоретически это должны быть вторые производные от P, либо, что то же самое - первые производные от dPdu dPdv, поскольку последние - сами - производные от P. Так? Однако Du(dPdu) и Dv(dPdv) - вектора, и с чем их есть я что-то не очень всасываю... Может, книжку пора почитать? :))))
 
#2
Может попробывать взять для кривизны по u например
normalize(Du(P)*du - P).normalize(Du(P) - P)
Бред...Бред...Бред
Если разберешся свистни ибо эти D и иже с ними Pdu
меня тоже шибко напрягают (в смысле понимания)
 
#3
Так, попробуем разобраться...

normalize(Du(P)*du - P).normalize(Du(P) - P)
поскольку Du(P) = dPdu, то мы имеем:
normailze(dPdu*du - P).normalize(dPdu - P), то есть вроде как в скобках стоят коллинеарные вектора, то есть после их нормализации и перемножения получится единица :(( Или я опять что-то не дотумкал?... Приду домой, зароюсь в ArMan...
 
Сверху