小编Trt*_*Trt的帖子

在opengl中计算球体

我想计算所需的所有顶点并用线连接它们,所以我最终想出了一个球体.有多少种方法可以做到?并且顶点之间的线条也是直的; 我怎么能让它们"弯曲"我知道我可以使用glutWireSphere(),但我对实际计算顶点感兴趣.我想到的一种方法是将所有顶点手动放在一个数组中,但我想这不是它的完成方式.

opengl geometry

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

调用groovy父类方法 - Grails

我有Grails服务,

家长班:

class BarService{

  def fetchData(params) {

    return fooData.toString()

  }

}
Run Code Online (Sandbox Code Playgroud)

儿童班:

class FooService extends BarService{

  def fetchData(params) {

    def fooData =  super.fetchData(params) //this will call the BarService method

    return fooData 
  }

}
Run Code Online (Sandbox Code Playgroud)

这是正确的groovy方式吗?因为对我来说这看起来像Java

谢谢

grails groovy

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

IntelliJ在JavaFX JAR文件中包含外部JARS

如何在我的主jar文件中包含lib下的所有jar文件?

IntelliJ是否意味着创建JAR文件?因为我似乎无法使它工作.以下是我设置的一些屏幕:

在此输入图像描述

结果如下:

在此输入图像描述

有人可以向我解释为什么在我的主JAR文件之外生成其他JAR文件?

我应该发货2个JARS?

java jar intellij-idea

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

Skiena算法设计手册 - 几何系列澄清

在此输入图像描述

从书中拍摄的照片.

这是对本书几何系列的解释,我不明白.恒定比率是a对的吗?所以让我们来看第一个词(只是和函数),for n = 5constant ratio = 2.

所以我们会这样: 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 = 1 + 2 + 4 + 8 + 16 + 32 = 63

不,如果我使用RHS, a(a^n+1 - 1)/(a - 1).所以它会给出这个:2(2^5+1 - 1)/(2 - 1)因为n = 5这给了126.

他们怎么能平等?

后来它也说:' 当a> 1时,每个新术语的总和会迅速增长. '他是在谈论空间复杂性吗?

因为我没有得到big-theta符号.因此,对于n = 5a = 2将采取大-θ(64),64(2的6次方)步骤是什么?

这是一些ruby代码:

n = 5
a = 2
sum …
Run Code Online (Sandbox Code Playgroud)

algorithm

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

当我在代码中指定了头文件时,为什么需要在gcc编译命令中指定库?

我在我的*.c程序中使用GLFW库.

    #include <GL/glfw.h>
    #include <stdlib.h>

    int main(void)
    {
        int running = GL_TRUE;
        int k=0;
.....
...
..
Run Code Online (Sandbox Code Playgroud)

我用来编译的命令是:

gcc test1.c -o test1 -lglfw
Run Code Online (Sandbox Code Playgroud)

我的问题是,因为这条线存在:

#include <GL/glfw.h>
Run Code Online (Sandbox Code Playgroud)

为什么我要传递-lglfwgcc

c glfw

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

Ruby线程限制 - 也适用于任何语言

我试图用Ruby尽可能快地处理1000帧.所以我目前开始1000个线程(每帧一个).结果很糟糕.它使用大量内存而且速度很慢.我的CPU是这个http://ark.intel.com/products/67355/ 它说它支持4个线程.(我猜每个CPU 2个?).因此,如果我一次启动4个Ruby线程,等到它们完成,然后再启动4个等等,它将需要250'步骤来完成处理权,而不是1000?

编辑:我的代码现在:

beginning_time = Time.now
    limit=1
for frame_index in 1..limit
    greyscale_frames_threads << Thread.new(frame_index) { |frame_number| 
        puts "Loading Image #{frame_number}"
        img_processor.load_image(frames_dir+"/frame_%04d.png"%+frame_number)
        img_processor.greyscale_image
        img_processor.save_image_in_dir(output_dir,"frame_%04d"%+frame_number)
        puts "Greyscaled Image #{frame_number}"
    }
end

puts "Joining Threads"
greyscale_frames_threads.each { |thread| thread.join } #this blocks the main thread
end_time = Time.now
puts "Time elapsed #{(end_time - beginning_time)*1000} milliseconds"
Run Code Online (Sandbox Code Playgroud)

现在,对于limit = 1,这就是我得到的:

时间流逝23504.805999999997毫秒

现在,对于limit = 2,这就是我得到的:

时间流逝53465.676毫秒

对于limit = 2,我期待23504.805999999997毫秒.

这意味着我的代码失败了.线程在这里没有任何意义.为什么?有人可以向我解释一下吗?

ruby multithreading

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

一些opengl和glm解释

有人可以解释一下以下几行吗?

glm::mat4 Projection = glm::perspective(45.0f, 1.0f, 0.1f, 100.0f);
angle = (GLfloat) (i % 360);
glm::mat4 View = glm::mat4(1.);
View = glm::translate(View, glm::vec3(0.f, 0.f, -5.0f));
View = glm::rotate(View, angle * -1.0f, glm::vec3(1.f, 0.f, 0.f));
View = glm::rotate(View, angle * 0.5f, glm::vec3(0.f, 1.f, 0.f));
View = glm::rotate(View, angle * 0.5f, glm::vec3(0.f, 0.f, 1.f));
glm::mat4 Model = glm::mat4(1.0);
glm::mat4 MVP = Projection * View * Model;
glUniformMatrix4fv(glGetUniformLocation(shaderprogram, "mvpmatrix"), 1, GL_FALSE, glm::value_ptr(MVP));
Run Code Online (Sandbox Code Playgroud)

他们将单位转换为像素,但我不确定这是不是他们做的.我有另一个问题,更一般的问题是,我如何表示一个数字,即sin(90)= 1,到10个像素,或40或任何数字?如何指定(0,0)将位于屏幕中间?以上所有都是由glm库照顾的吗?

opengl glm-math

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

C++在函数中传递指针地址

下面的代码使用八面体作为起始3D形状(我在网上找到它),经过一些调整后我仍然无法使其工作.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stddef.h> /* must include for the offsetof macro */
#include <GL/glew.h>
#include <GL/glfw.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <stdlib.h>
#include <vector>
#include <iostream>

using namespace std; 

struct XYZ {
    GLdouble x;
    GLdouble y;
    GLdouble z;
};

struct FACET3 {
    XYZ p1;
    XYZ p2;
    XYZ p3;
};


void Normalise(XYZ *p_input)
{
    double magnitude = 0;
    magnitude = sqrt((p_input.x * p_input.x )+ (p_input.y * p_input.y) + (p_input.z * p_input.z));
    p_input.x = p_input.x …
Run Code Online (Sandbox Code Playgroud)

c++ pointers

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

Rails 3 Controller不呈现页面

在rails 3中是否可以有一个指向控制器动作的链接,但不能渲染任何内容?假设我只想打几个佣金任务.这可能吗?

rake ruby-on-rails-3.2

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

创建自定义Rails记录器

这已经过时了吗? http://guides.rubyonrails.org/debugging_rails_applications.html 我正在一步一步地跟着它,

部分'2.1什么是记录器?'

它说明了如何创建自定义记录器.

1)您可以在environment.rb或任何环境文件中指定备用记录器:

Rails.logger = Logger.new(STDOUT)
Rails.logger = Log4r::Logger.new("Application Log")
Run Code Online (Sandbox Code Playgroud)

我把这段代码放在我的environment.rb文件中,我得到了这个:

未初始化的常量Log4r(NameError)

..然后它说'或者在初始化程序部分,添加以下任何内容:'

config.logger = Logger.new(STDOUT)
config.logger = Log4r::Logger.new("Application Log")
Run Code Online (Sandbox Code Playgroud)

我的environment.rb文件中没有初始化部分!我犯了同样的错误!

它说'如果你愿意,你也可以替换Log4r等其他记录器.' 为什么有人想替换现有的记录器?

Rails.logger = Log4r::Logger.new("Application Log")从environment.rb文件中删除了.它似乎正在工作,但我期待在日志/目录中创建一个文件,但没有.这是我的enviroment.rb文件:

# Load the rails application
require File.expand_path('../application', __FILE__)

Rails.logger = Logger.new('Application Log')

# Initialize the rails application
MyApp::Application.initialize!
Run Code Online (Sandbox Code Playgroud)

救命?请问一些解释?

ruby ruby-on-rails ruby-on-rails-3.2

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