小编Red*_*der的帖子

将8字节的little-endian二进制转换为双精度浮点数

我有一个二进制文件,我逐字节读取.

我遇到了一个8字节长的部分,持有一个双精度浮点数(小端).我无法弄清楚如何读取它并使用遮罩和/或铸造正确计算它.

(具体来说,文件类型是.LAS,但这不重要).

有没有Java技巧?

java floating-point precision parsing endianness

12
推荐指数
1
解决办法
8204
查看次数

Android ActionBar setCheckable()不起作用

我试图做的一个MenuItems对我Menu有勾号的能力,但它似乎并没有工作.MenuItems除了勾选标记显示外,其他所有功能都有效.我究竟做错了什么?

MenuItem actionPickMode = menu.add(0, 3, 0, "pickmode");
actionPickMode.setTitle("Pick Mode");
actionPickMode.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT
                | MenuItem.SHOW_AS_ACTION_ALWAYS);
actionPickMode.setVisible(true);
actionPickMode.setCheckable(true);
Run Code Online (Sandbox Code Playgroud)

checkbox android android-actionbar

10
推荐指数
1
解决办法
4236
查看次数

Android OpenGL 3D采摘

我使用Android OpenGL-ES 2.0并且考虑到它带来的所有限制,我无法弄清楚如何将2D屏幕触摸带到我拥有的3D点上.我无法得到正确的结果.

我正在尝试将射线射入点云,然后我可以比较我的点与光线的距离,找到最近的点.

public class OpenGLRenderer extends Activity implements GLSurfaceView.Renderer {
    public PointCloud ptCloud;
    MatrixGrabber mg = new MatrixGrabber();
...
    public void onDrawFrame(GL10 gl) {

        gl.glDisable(GL10.GL_COLOR_MATERIAL);
        gl.glDisable(GL10.GL_BLEND);
        gl.glDisable(GL10.GL_LIGHTING);

        //Background drawing
        if(customBackground)
            gl.glClearColor(backgroundRed, backgroundGreen, backgroundBlue, 1.0f);
        else
            gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

        if (PointCloud.doneParsing == true) {
            if (envDone == false)
                setupEnvironment();

            // Clears the screen and depth buffer.
            gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

            gl.glMatrixMode(GL10.GL_PROJECTION);
            gl.glLoadIdentity();
            GLU.gluPerspective(gl, 55.0f, (float) screenWidth / (float) screenHeight, 10.0f ,10000.0f);

            gl.glMatrixMode(GL10.GL_MODELVIEW);

            gl.glLoadIdentity();
            GLU.gluLookAt(gl, eyeX, eyeY, eyeZ, 
                              centerX, centerY, …
Run Code Online (Sandbox Code Playgroud)

android opengl-es matrix picking depth-buffer

6
推荐指数
1
解决办法
6445
查看次数

Android OpenGL点云

我一直在努力使用

gl.glDrawElements(GL10.GL_POINTS, 4, GL10.GL_UNSIGNED_BYTE, vertexBuffer);
Run Code Online (Sandbox Code Playgroud)

使用顶点缓冲区在我的屏幕上绘制4个点,但我无法使其工作.我想绘制的只是点数,因为最终我想做一个点云显示.如果我有大量的点(最终),顶点缓冲区的方式是什么?它们不会改变,但我想改变它们被观察的视角和尺度.

vertexBuffer设置:

private float vertices[] = {
    -3.0f,  1.0f, -2.0f,  // 0, Top Left
    -3.0f, -1.0f, 0.0f,  // 1, Bottom Left
    -2.0f, -1.0f, -2.0f,  // 2, Bottom Right
    -2.0f,  1.0f, 0.0f,  // 3, Top Right
    };


// Our vertex buffer.
private FloatBuffer vertexBuffer;
ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length * 4);
vbb.order(ByteOrder.nativeOrder());
vertexBuffer = vbb.asFloatBuffer();
vertexBuffer.put(vertices);
vertexBuffer.position(0);
Run Code Online (Sandbox Code Playgroud)

这是我当前对我的点的绘制调用(我不想索引,因为形状绘制顺序对我来说无关紧要):

public void draw(GL10 gl) {
    // Enabled the vertices buffer for writing and to be used during …
Run Code Online (Sandbox Code Playgroud)

android opengl-es point-clouds

3
推荐指数
1
解决办法
4255
查看次数

Java GUI - JPanels,JFrames,JButtons

我正在尝试打开一个既有an image又有的窗口buttons.但我似乎无法弄清楚如何添加按钮.图像显示大和菜单工作正常,但不管我在哪里添加按钮(进入JLabel,JPanelJFrame),它不会永远显示...

主要:

public static void main(String[] args) {
    GUI myGUI = new GUI();
    myGUI.show();
}
Run Code Online (Sandbox Code Playgroud)

GUI类:使用菜单时调用openImage.然后显示图像,但没有按钮.

private JFrame myFrame;
private JPanel myPanel;
private JLabel myLabel;
public GUI()
{
    myFrame = new JFrame();
    initializePanel();
}

public void show()
{
    myFrame.setSize(600,600);
    myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    myFrame.addMouseListener(this);

    setupMenu(myFrame);     

    myFrame.setVisible(true);
}
private void initializePanel() 
{
       myPanel = new JPanel();
       myPanel.setPreferredSize(new Dimension(500,500));
       //myPanel.setLayout(new BorderLayout());
}
private void openImage(String fileName)
{
    try {
        myImage = ImageIO.read(new File(fileName));
    } …
Run Code Online (Sandbox Code Playgroud)

java swing image jpanel jframe

2
推荐指数
1
解决办法
2526
查看次数

Android Maps Intent - 额外参数

现在,我正在通过以下调用启动Google地图应用程序:

String geoAddress = "maps.google.com/maps?q=";
geoAddress += LatLong[0] + "," + LatLong[1];    
Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(geoAddress));
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

这将打开标记并将其放置在地图上的指定位置.我有两个问题:

1)如何放置多个具有经度/纬度的标记?

2)如何将地图应用程序启动到其他模式(地形/卫星/等)?

谢谢!

android google-maps google-maps-markers android-intent

0
推荐指数
1
解决办法
3523
查看次数