小编Pab*_*blo的帖子

ThreeJS材质有阴影但没有灯光

我想要一种材料:

  • 纹理
  • 没有接收灯
  • 接收阴影

我尝试使用以下库材料:

  • MeshBasicMaterial:不支持阴影
  • MeshLamberMaterial:如果禁用灯光(material.lights = false),它也会禁用阴影
  • ShadowMaterial:不支持纹理

是自定义ShaderMaterial实现它的唯一途径吗?

three.js

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

OpenCV RHO 单应性方法不适用于透视变换

我试图将新的 RHO 单应性算法与透视变换结合使用,但似乎 RHO 计算的单应性矩阵大小错误,因此与该方法不兼容。

见下面的代码:

H = findHomography(obj_points, scn_points, RHO, 1.0);
perspectiveTransform(obj_corners, scene_corners, H);
Run Code Online (Sandbox Code Playgroud)

以下断言失败:

error: (-215) scn + 1 == m.cols in function perspectiveTransform
Run Code Online (Sandbox Code Playgroud)

有什么线索吗?它与 RANSAC 完美配合。

c++ computer-vision homography perspective opencv3.0

5
推荐指数
1
解决办法
999
查看次数

无法在JDBC PreparedStatement上的单引号内转义参数

我想通过JDBC进行这样的查询(注意它包含一些postgis函数):

SELECT id, name, ST_Y(location::geometry) as latitude, ST_X(location::geometry) as longitude, category_group, category 
FROM pois 
WHERE ST_DWithin(location, ST_GeographyFromText('SRID=4326;POINT(-5.8340534 43.3581991)'), 1000000);
Run Code Online (Sandbox Code Playgroud)

所以我将查询参数化为:

SELECT id, name, ST_Y(location::geometry) as latitude, ST_X(location::geometry) as longitude, category_group, category 
FROM pois 
WHERE ST_DWithin(location, ST_GeographyFromText('SRID=4326;POINT(? ?)'), ?);
Run Code Online (Sandbox Code Playgroud)

问题是,当执行preparedStament时,它找不到前两个参数,因为它们在单引号内,因此它给出了一个错误.

我还试图用"没有成功"的单引号来逃避:

SELECT id, name, ST_Y(location::geometry) as latitude, ST_X(location::geometry) as longitude, category_group, category 
FROM pois 
WHERE ST_DWithin(location, ST_GeographyFromText(\'SRID=4326;POINT(? ?)\'), ?);
Run Code Online (Sandbox Code Playgroud)

现在,作为一种解决方法,我没有绑定参数,只是将查询字符串附加到它们,但这很容易受到SQL注入,所以我只想知道是否有任何方法可以逃避该句子以使参数绑定工作.

java sql binding jdbc

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

Google Maps Android API v2 仅在我触摸屏幕时显示图块

问题

当应用程序启动时,它会显示一个白色的谷歌地图(我可以看到谷歌标志),即使在互联网连接良好的情况下等待几分钟也不会加载图块。

但是,如果我触摸屏幕,瓷砖开始出现(每次触摸一个瓷砖)。

我用 3 部实体手机进行了测试,得到了相同的结果。

地图活动

public class MapActivity extends Activity {

    private MapView mMapView;
    private GoogleMap gmap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map);

        mMapView = (MapView) findViewById(R.id.map);
        mMapView.onCreate(savedInstanceState);
        gmap = mMapView.getMap();
        gmap.getUiSettings().setMyLocationButtonEnabled(false);
        gmap.getUiSettings().setZoomControlsEnabled(false);
        gmap.getUiSettings().setCompassEnabled(false);
        gmap.getUiSettings().setAllGesturesEnabled(false);
        gmap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);

        MapsInitializer.initialize(mMapView.getContext());
    }

}
Run Code Online (Sandbox Code Playgroud)

布局

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:id="@+id/frameLayout">
    <com.google.android.gms.maps.MapView
        android:id="@+id/map"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

显化

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nst.lazzus" >

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission …
Run Code Online (Sandbox Code Playgroud)

android google-maps-android-api-2

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