MATLAB:如何通过用户点击获得3D坐标?

问题描述 投票:1回答:2

我正在使用Matlab为本学期的一门课程创建一个小型国际象棋游戏。我遇到麻烦的是让用户能够选择其中一个棋子。

为了简化事情,我正在制作它,以便用户通过点击棋子所在的方块而不是单击棋子本身来选择一个棋子(我认为这将更加困难)。我知道如何获取视口的x和y坐标,但是如何将这些坐标转换为3空间坐标?

我知道有多个x,y,z坐标与每个视口坐标相关联,但我只对x,y,z坐标感兴趣,其中z = 0(因为板本身位于x,y平面与z轴相交,其中z = 0)。

matlab matrix transformation chess
2个回答
2
投票

您可能想要查看文件交换中的select3d。它允许您选择3D中的补丁对象(无论如何,这可能是您想要创建板的方式)。


0
投票

不是MATLAB特定的,但这可能会有所帮助:给定相机参数和点击位置,您可以将光线投射到场景中并测试交叉点,但是考虑反问题可能要容易得多:映射您的棋盘网格平方到屏幕坐标上,然后只是在2D中与点击位置进行比较。请注意,这已经在渲染场景时完成。

© www.soinside.com 2019 - 2024. All rights reserved.