小编Dav*_*man的帖子

你如何计算glsl中两个法线之间的角度?

你如何计算glsl中两个法线之间的角度?我试图将菲涅尔效果添加到对象的外边缘(将该效果与phong着色相结合),我认为角度是我唯一缺少的.

片段着色器:

varying vec3 N;
varying vec3 v;

void main(void) {
  v = vec3(gl_ModelViewMatrix * gl_Vertex);
  N = normalize(gl_NormalMatrix * gl_Normal);
  gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}
Run Code Online (Sandbox Code Playgroud)

顶点着色器:

varying vec3 N;
varying vec3 v;

void main(void) {
  vec3 L = normalize(gl_LightSource[0].position.xyz - v);
  vec3 E = normalize(-v);
  vec3 R = normalize(-reflect(L,N));

  vec4 Iamb = gl_FrontLightProduct[0].ambient
  vec4 Idiff = gl_FrontLightProduct[0].diffuse * max(dot(N,L), 0.0);
  vec4 Ispec = gl_FrontLightProduct[0].specular * pow(max(dot(R,E),0.0), gl_FrontMaterial.shininess);
  vec4 Itot = gl_FrontLightModelProduct.sceneColor + Iamb + Idiff + Ispec;

  vec3 …
Run Code Online (Sandbox Code Playgroud)

graphics geometry angle glsl fresnel

6
推荐指数
2
解决办法
2万
查看次数

确定多个点的质心

我正在编写一个我在python中编写的映射应用程序,我需要得到N个点的lat/lon质心.说我有两个位置

a.lat = 101
a.lon = 230

b.lat = 146
b.lon = 200
Run Code Online (Sandbox Code Playgroud)

使用欧几里德公式,获得两点的中心相当容易.我希望能够超过两点.

从根本上说,我希望做一些类似http://a.placebetween.us/的事情,其中一个人可以输入多个地址,并找到一个对每个人都等距的地方.

math geometry google-maps geolocation

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

用于旧C++库的托管C++包装器

我们正在考虑使用托管C++为一些遗留C++库编写.Net可调用包装器.

这一切看起来都很简单.有什么我们需要注意的吗?

.net c++ managed-c++

6
推荐指数
2
解决办法
5425
查看次数

从命令行使用Chai和TypeScript运行mocha测试

我想在命令行上运行时让TypeScript,mocha和chai一起工作.我正在使用TypeScript版本0.9.1.1.

我有CalculatorTest.ts:

/// <reference path="../definitions/mocha.d.ts" />
/// <reference path="../definitions/chai.d.ts" />

// import chai = require('node_modules/chai/chai');

var expect = chai.expect;

describe("Calculator", () => {
    var calc: Calculator;

    beforeEach(() => {
        calc = new Calculator();
    });   

    describe("Add", () => {
        it("should have correct results", () => {

            calc.add(1);
            calc.add(2);

            expect(calc.current()).to.equal(3);
        });

        it("this test should fail", () => {
            expect(calc.current()).to.equal(10000);
        });
    })
});
Run Code Online (Sandbox Code Playgroud)

我还有一个单独的Calculator.js文件.

我可以在浏览器中使用页面运行这个:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Mocha Calculator Tests</title>
    <link rel="stylesheet" href="scripts/node_modules/mocha/mocha.css" />
</head>
<body>
    <div id="mocha"></div>
    <script src="scripts/node_modules/mocha/mocha.js"></script> …
Run Code Online (Sandbox Code Playgroud)

mocha.js chai typescript

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

IIS7/WPAS:同一AppDomain中的多个WCF服务?

如果在IIS7或WPAS中托管我的WCF服务,是否可以将两个或多个服务加载到同一个AppDomain中,以便它们可以共享静态变量?

.net wcf iis-7 web-services

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

用于在2D网格上建立膨胀气体的算法

我有一个简单的程序,它的核心是一个浮动的二维数组,据说代表气体浓度,我一直试图想出一个简单的算法,模拟向外扩展的气体,如云,最终结束整个电网中的气体浓度相同.

例如,给定的状态进展可以是:(为简单起见,使用整数)

起始状态

00000
00000
00900
00000
00000

1次通过算法后的状态

00000
01110
01110
01110
00000

另外一个pas应该给5x5网格都包含值0.36(9/25).
我已经在纸上试过了,但无论我如何尝试,我都无法绕过算法来做到这一点.

所以我的问题是,我该如何着手尝试编写这种算法?我尝试了一些东西,应用卷积,试图依次取出每个网格单元并将其分发给邻居,但它们最终都会产生不良影响,例如最终以比我最初开始时更少的气体结束,或者所有气体运动都在一个方向,而不是从中心向外扩展.我真的无法理解它并且会感激任何帮助.

algorithm math gnu-assembler fluid expansion

4
推荐指数
2
解决办法
627
查看次数

Webservices - Java还是.NET?

我需要在即将到来的项目中实现webservices,并想知道决定是否使用java或.NET实现的主要要点是什么

我是C++呃......

.net java web-services

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

LinkageError:使用Resteasy在Websphere6.1中链接javax / xml / namespace / QName时违反了加载程序约束

拨打Web服务时出现此错误。我无法为此解决一个问题。任何帮助是极大的赞赏。

我拥有的相关库是:axis-1.3.jar
axis-jaxrpc-1.3.jar
axis-saaj-1.3.jar
axis-wsdl4j-1.5.1.jar

jaxb-api-2.1.jar jaxb-impl-2.1.8.jar jaxen-1.1-beta-9.jar jaxrs-api-1.0-beta-9.jar

在Websphere 61中,管理员设置如下:企业应用程序-> WAR Classloader模式:PARENT_LAST * Web模块:-> ClassLoader模式:application_FIRST

由以下原因引起:java.lang.LinkageError:在com.sun.com.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl。(RuntimeBuiltinLeafInfoImpl.java:224)处链接javax / xml / namespace / QName类时,违反了加载程序约束位于com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:127)的.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl。(RuntimeTypeInfoSetImpl.java:61) com.sun.xml.bind.v2.model.impl.ModelBuilder。(ModelBuilder.java:152)上的xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:79) com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432)上的.bind.v2.model.impl.RuntimeModelBuilder。(RuntimeModelBuilder.java:87) v2.runtime.JAXBContextImpl。(JAXBContextImpl.java:297)在com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)在com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)处的sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method。处的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)处的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethod) javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211)处的invoke(Method.java:585)javax.xml.bind.JAXBContext处的javax.xml.bind.ContextFinder.find(ContextFinder.java:372)处的invoke(Method.java:585) org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper。(JAXBContextWrapper.java:74)上的.newInstance(JAXBContext.java:574)。在org.jboss.resteasy.plugins上的resteasy.plugins.providers.jaxb.JAXBContextWrapper。(JAXBContextWrapper.java:99)在org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.createContextObject(XmlJAXBContextFinder.java:48)在org.jboss.resteasy.plugins。 org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.findCachedContext(XmlJAXBContextFinder.java:39)上的.jaxb.AbstractJAXBContextFinder.createContext(AbstractJAXBContextFinder.java:114)在org.jboss.resteasy.plugins.providers.jaxb上org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.getMarshaller(AbstractJAXBProvider.java:112)的.findJAXBContext(AbstractJAXBProvider.java:49)org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.writeTo(Abstract .java:88),网址为org.jboss.resteasy.client.core。org.jboss.resteasy.client.core.MessageBodyParameterMarshaller.buildRequest(MessageBodyParameterMarshaller.java:51)上的MessageBodyParameterMarshaller $ ClientRequestEntity。(MessageBodyParameterMarshaller.java:88)在org.jboss.resteasy.client.core.ClientInvoker.invoke(ClientInvoker。 :197),位于org.jboss.resteasy.client.core.ClientProxy.invoke(ClientProxy.java:46),位于Proxy.wides.wedsimple.client.WedSimpleClientImpl.updateAccount(WedSimpleClientImpl。 com.amg.brides.wedsimple.web.WedSimpleUpdateAccountEvent.invokeClient(WedSimpleUpdateAccountEvent.java:24)处com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute(AbstractWedSimpleAccountEvent.java:35)处.brides.util.WebEventProcessor.processEvents(WebEventProcessor。Java:29)

websphere web-services

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