我有一个 Firemonkey 表单,表单上的 3dgrid 组件设置为 (0,0,0)。单击鼠标时,我想获取网格上某个点的坐标。我知道如何获取光标的屏幕位置,但我需要 3d 网格本身相对于 3dgrid 上的鼠标位置的坐标。
问问题
547 次
1 回答
0
你可以试试那个...
伊曼纽尔
procedure TFormMain.EveOnMyLayer3D_MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Single; RayPos,
RayDir: TVector3D);
var
P3: TVector3D;
LocalX, LocalY: single;
begin
if MyLayer3D.RayCastIntersect(rayPos, rayDir, P3) then
begin
P3 := MyLayer3D.AbsoluteToLocalVector(P3);
LocalX := P3.X*MyLayer3D.Resolution;
LocalY := P3.Y*MyLayer3D.Resolution;
...
于 2013-06-22T16:23:23.797 回答