Показать сообщение отдельно
Старый 13.09.2010, 20:13   #2
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Ответ: как найти точку в треугольнике 3d в координатах?

Сообщение от polopok Посмотреть сообщение
пример на си переведите кто-нибудь на блитз. очень надо
Код на C++

    1.
       double get_triangle_dim(Point3D p1, Point3D p2, Point3D p3){
    2.
       Point3D v1,v2,vp;
    3.
       v1.x=p2.x-p1.x;
    4.
       v1.y=p2.y-p1.y;
    5.
       v1.z=p2.z-p1.z;
    6.
       v2.x=p3.x-p1.x;
    7.
       v2.y=p3.y-p1.y;
    8.
       v2.z=p3.z-p1.z;
    9.
       vp.x=v1.y*v2.z-v1.z*v2.y;
   10.
       vp.y=v1.z*v2.x-v1.x*v2.z;
   11.
       vp.z=v1.x*v2.y-v1.y*v2.x;
   12.
       return(sqrt(vp.x*vp.x+vp.y*vp.y+vp.z*vp.z)/2);
   13.
       }
Это было тяжело, учитывая что в блице хреновое ооп, а я не знаю что такое sqrt(тупо изменил на sqr)
Function get_triangle_dim#(x1#,y1#,z1#,x2#,y2#,z2#,x3#,y3#,z3#)

Local vx1#,vy1#,vz1#,vxp#,vyp#,vzp#

vx1=x2-x1
vy1=y2-y1
vz1=z2-z1

vx2=x3-x1
vy2=y3-y1
vz2=z3-z1

vxp=y1*z2-z1*y2
vyp=z1*x2-x1*z2
vzp =x1*y2-y1*x2

Return Sqr (vxp*vxp+vyp*vyp+vzp*vzp)/2

End Function
(Offline)
 
Ответить с цитированием