Uchburchakning ishorali yuzi
Uchburchakning ishorali yuzi
Ta’rif
Uchta nuqta berilgan bo‘lsin: , , .
Uchburchakning ishorali yuzi
Uchta nuqta berilgan bo‘lsin: , , .
uchburchagini ko‘rib chiqamiz.
Ishorali maydon — bu uchburchakning oddiy maydoni, lekin:
Agar biz ishorali maydonni hisoblay olsak, unda avtomatik ravishda:
Ikki kesmaning yo‘nalishlarini solishtiramiz:
Ma’lum bo‘lishicha, bitta ifodani hisoblash kifoya:
Bu son:
Bu ikki baravar ishorali maydon.
Chunki uchburchakning haqiqiy maydoni quyidagiga teng:
Lekin burilish yo‘nalishini tekshirishlarning barchasida 2 ga bo‘lish talab qilinmaydi, shuning uchun deyarli har doim aynan kattaligidan foydalanishadi.
long long triangle_area_2(
long long x1, long long y1,
long long x2, long long y2,
long long x3, long long y3
) {
return (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1);
}
double triangle_area(
long long x1, long long y1,
long long x2, long long y2,
long long x3, long long y3
) {
return abs(triangle_area_2(x1, y1, x2, y2, x3, y3)) / 2.0;
}
bool clockwise(
long long x1, long long y1,
long long x2, long long y2,
long long x3, long long y3
) {
return triangle_area_2(x1, y1, x2, y2, x3, y3) < 0;
}
bool counter_clockwise(
long long x1, long long y1,
long long x2, long long y2,
long long x3, long long y3
) {
return triangle_area_2(x1, y1, x2, y2, x3, y3) > 0;
}
bool collinear(
long long x1, long long y1,
long long x2, long long y2,
long long x3, long long y3
) {
return triangle_area_2(x1, y1, x2, y2, x3, y3) == 0;
}