我必须为我的A-Levels写一篇关于3D编程的论文.但是我在理解透视投影矩阵时遇到了严重的问题,我需要详细解释矩阵.我在这个主题上搜索了很多网站和youtube视频,但很少甚至尝试回答为什么 Matrix在那个地方有这些价值的问题.基于这个http://www.songho.ca/opengl/gl_projectionmatrix.html,我能够找到w-row的工作方式,但我不了解其他三个.
我决定只使用"更简单"的版本用于对称视口(右手Coord.):
![![<代码> R + L = 0,</代码> RL = 2R <代码>(宽度); </代码> T + B = 0 <代码>,</代码> TB =2吨<代码>(高度); </ code> [n/r 0 0 0; 0 n/t 0 0; 0 0 - (f + n)/(fn) - (2fn)/(fn); 0 0 -1 0]`[1]](https://i.stack.imgur.com/lNpsA.png)
我非常感谢每一次向我解释前三行的尝试!
我试图找出透视投影矩阵的工作原理.
根据这个:https://www.opengl.org/sdk/docs/man2/xhtml/gluPerspective.xml
f =余切(fovy/2)
从逻辑上讲,我理解它是如何工作的(x-和y-值越来越远离边界框,反之亦然),但我需要一个数学解释为什么这个有效.也许是因为相交线的定理?
我在这里找到了一个解释:http://www.songho.ca/opengl/gl_projectionmatrix.html 但我不明白它的相关部分.
fireTableDataChanged 似乎对我不起作用:
类主要:
tblBookOfMonth = new JTable(tableModel);
tableModel.setData();
tableModel.fireTableDataChanged();
tblBookOfMonth.repaint();
frame.add(tblBookOfMonth, BorderLayout.CENTER);
frame.add(pnlNorth, BorderLayout.NORTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
MySQLTableModel 类:
公共类 MySQLTableModel 扩展 AbstractTableModel{
private Object[][] data;
boolean bool = false;
public MySQLTableModel(Object[][] data) {
this.data = data;
}
public MySQLTableModel() {
this.data = new Object[0][0];
}
public void setData() {
bool = true;
}
@Override
public int getColumnCount() {
if(bool) {
return 4;
}
return 0;
}
@Override
public int getRowCount() {
if(bool) {
return 4;
}
return 0;
}
@Override …Run Code Online (Sandbox Code Playgroud)