Показать сообщение отдельно
Старый 13.09.2010, 21:38   #4
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,371
Написано 2,477 полезных сообщений
(для 6,865 пользователей)
Ответ: как найти точку в треугольнике 3d в координатах?

к слову тут ооп и не пахнет.
Вольная вариация:
Type Point3D
    Field x#,y#,z#
End Type

Function CreatePoint3D.Point3D(x#,y#,z#)
 Local p.Point3D = New Point3D
 p\x=x
 p\y=y
 p\z=z
 Return p
End Function

Function get_triangle_dim(p1.Point3D, p2.Point3D, p3.Point3D)
       Local v1.Point3D = New Point3D
       Local v2.Point3D = New Point3D
       Local vp.Point3D = New Point3D
       v1\x=p2\x-p1\x;
       v1\y=p2\y-p1\y;
       v1\z=p2\z-p1\z;
       v2\x=p3\x-p1\x;
       v2\y=p3\y-p1\y;
       v2\z=p3\z-p1\z;
       vp\x=v1\y*v2\z-v1\z*v2\y;
       vp\y=v1\z*v2\x-v1\x*v2\z;
       vp\z=v1\x*v2\y-v1\y*v2\x;
       return(sqr(vp\x*vp\x+vp\y*vp\y+vp\z*vp\z)/2);
End Function
Хотя заместо Point3D можно использовать пивоты.

SQR - Square Root
Blitz3D Docs This command will return the square root of a specified value. The value returned is a floating point number.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
DeeJex (13.09.2010), polopok (13.09.2010)