Опитвам се да намеря пресечната точка между линеен сегмент и квадратичен безиеров триъгълник за моя OpenCL raytracer в реално време.
Този въпрос Откриване и намиране на пресечен лъч срещу кубичен триъгълник на Безие говори за намирането на точка на сблъсък между лъч и кубичен безиеров триъгълник и основните препоръки са да опитате подразделяне или тензорен продукт безиерови кръпки.
Четох на няколко места, че когато тествате линеен сегмент срещу квадратен безиеров триъгълник, в крайна сметка просто трябва да решите квадратно уравнение, но не намерих информация какво всъщност представлява това уравнение и започвам да чудя се дали е вярно. Опитите ми да го намеря също не успяха досега :P
Някой знае ли дали това е вярно или как да го решим, освен да използваме безиерови кръпки за подразделение или тензорен продукт?
Ето уравнението за квадратен безиеров триъгълник:
AS^2 + 2*DST + 2*ESU + B*T^2 + 2*FTU + C*U^2
Където S,T,U са параметрите на триъгълника. Можете да замените U с (1-S-T), тъй като те са барицентрични координати.
A,B,C са ъглите на триъгълника, а D,E,F са контролните точки по ръбовете.
Супер объркан от този!