小编Wea*_*ane的帖子

计算立方贝塞尔长度的便宜方法

立方贝塞尔长度的解析解似乎不存在,但这并不意味着不存在编码廉价解的编码.便宜我的意思是在50-100 ns(或更少)的范围内.

有人知道这样的事吗?可能分为两类:

1)较少的错误,如1%但更慢的代码.2)更多错误如20%但更快?

我通过谷歌扫描了一下,但它没有找到任何看起来像一个很好的解决方案.只有像划分N个线段并将N sqrt相加的东西 - 太慢以获得更高的精度,并且对于2或3个段可能太不准确.

有更好的吗?

c algorithm graphics bezier

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

scanf在C中没有附加参数

是否允许使用scanf(" ")没有其他参数来忽略初始空格?
我正在getchar()阅读一个单词的字符,我想忽略单词之前的空格(后面用空格来检查单词的结尾).
代码如下,是否正确?

char *read_word() {
    int size = 2;
    int char_count = 0;
    char *s;
    char ch;

    s = mem_alloc(size);

    scanf(" ");

    while ((ch = getchar()) != EOF) {
        if (char_count >= size) {
            s = mem_realloc(s, size++);
        }

        if (ch == ' ' || ch == '\n') {
            s[char_count] = '\0';
            break;
        }

        s[char_count++] = ch;
    }

    return s;
}
Run Code Online (Sandbox Code Playgroud)

c scanf

14
推荐指数
3
解决办法
1246
查看次数

将struct tm转换为time_t

我有以下代码:

struct tm time;

strptime("27052010", "%d%m%Y", &time);

cout << "sec: " << time.tm_sec << "\n";
cout << "min: " << time.tm_min << "\n";
cout << "hour: " << time.tm_hour << "\n";
cout << "day: " << time.tm_mday << "\n";
cout << "month: " << (time.tm_mon + 1) << "\n";
cout << "year: " << time.tm_year << "\n";

time_t t = mktime(&time);

cout << "sec: " << time.tm_sec << "\n";
cout << "min: " << time.tm_min << "\n";
cout << "hour: …
Run Code Online (Sandbox Code Playgroud)

c++ time

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

寻找不可减少的部分

给定一个正整数n,它要求找到一个可以选择两个号码的可能性A,并B从集合[1...n],使得GCDABB.所以我的方法是计算对的数量,使得一个可被另一个整除.答案预计是不可缩减的分数形式.
示例:
1 2 3
输出:
1/1 3/4 5/9

long n = sc.nextLong();
long sum=0;
for(long i=1;i<=n/2;i++)
    sum+=(n/i)-1;
 long tot = n*n;
 sum+=n;
 long bro = hcf(tot,sum);
 sum/=bro;
 tot/=bro;
 System.out.print(sum+"/"+tot);
Run Code Online (Sandbox Code Playgroud)

我的hcf功能是:

public static long hcf(long n1,long n2)
{
    if (n2!=0)
        return hcf(n2, n1%n2);
    else 
        return n1;
}
Run Code Online (Sandbox Code Playgroud)

但编译器消息超时.我认为这个hcf函数可能存在一些问题,或者有一种更好,更有效的方法来找到不可约的部分.由于它对于较小的输入是成功的,我认为最有可能找到不可简化的分数形式的有效方法.有什么建议?

java algorithm math performance

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

从jni访问加速度计

我正在尝试制作一个Android应用程序,我需要在jni中访问加速度计.

java代码:

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);         
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
Run Code Online (Sandbox Code Playgroud)

jni代码:

jclass cls_context = env->FindClass("android/content/Context");
jfieldID tService = env->GetStaticFieldID(cls_context, "SENSOR_SERVICE","Ljava/lang/String;");
jstring jstr = (jstring)env->GetStaticObjectField(cls_context, tService);

//getSystemService(SENSOR_SERVICE);
jclass cls_act = env->GetObjectClass(activity);
jmethodID GetSystemService = env->GetMethodID(cls_act,"getSystemService","(Ljava/lang/String;)Ljava/lang/Object;");
jobject systemservice = env->CallObjectMethod(activity,GetSystemService,jstr);

//getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
jclass sensormanager = env->GetObjectClass(systemservice);
jmethodID getdefaultsensor = env->GetMethodID(sensormanager, "getDefaultSensor", "(I)Landroid/hardware/Sensor;");
jobject sensor = env->CallObjectMethod(systemservice, getdefaultsensor, "Sensor.TYPE__ACCELEROMETER");
Run Code Online (Sandbox Code Playgroud)

但是jobject sensor越来越好了null.

java java-native-interface android

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

从 DHT-11 传感器获取 NAN 读数

我正在尝试使用 arduino uno R3 从 DHT-11 传感器读取温度和湿度

#include <DHT.h>
#include <LiquidCrystal.h>

#define DHTPIN A3
#define DHTTYPE DHT11

DHT dht(DHTPIN,DHTTYPE);
LiquidCrystal lcd(5,8,9,10,11,12);

String hum="Humidity:";
String temptext="Temp:";

void setup() {

    Serial.begin(9600);
    lcd.clear();
    lcd.begin(16,2);
    dht.begin();
}

void loop() {

    float humidity = dht.readHumidity();
    delay(500);
    float temp = dht.readTemperature();
    delay(500);
      Serial.println(hum+humidity);
      Serial.println(temptext+temp);
      lcd.clear();
      lcd.print(hum + humidity);
      lcd.setCursor(0,2);
      lcd.print(temptext+temp);
      delay (5000);


}
Run Code Online (Sandbox Code Playgroud)

我确定我的接线是正确的。DHT-11 只报告 NAN 的可能原因是什么?会不会坏了(我刚打开包装)?

arduino arduino-uno sensors

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

如何计算余数有什么不同?

假设a = 2 ^ k int c = b%aint c = b & (a-1)?之间在性能或正确性方面存在任何差异。

c c++ performance

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

错误请求(#400) - 缺少必需参数:YII2中的id

我想使用GII工具进行CRUD操作,但是Missing required parameters: id当我尝试保存帖子时收到错误消息.

邮政控制器:

public function actionCreate()
{
    $model = new Post();

    if ($model->load(Yii::$app->request->post())) {
        $model->post_create_time=date('Y-m-d h:m:s');
        $model->save();
        return $this->redirect(['view', 'id' => $model->id_post]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么我总是会收到此错误?

yii2 yii2-advanced-app

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

Clion对函数的未定义引用

我的main.cpp,头文件func.h和另一个源文件func.cpp有一个简单的程序。我使用CLion 2016.3。我的编译器是gcc。

他们看起来像这样:

Main.cpp

#include <iostream>
#include <stdlib.h>
#include <cstdio>
#include "func.h"

int main() {

int c;
c = number(2);
printf("%i", c);

}
Run Code Online (Sandbox Code Playgroud)

func.cpp

int number(int a){

return a;

}
Run Code Online (Sandbox Code Playgroud)

func.h

#ifndef TEST2_FUNC_H
#define TEST2_FUNC_H

int number(int a);

#endif //TEST2_FUNC_H
Run Code Online (Sandbox Code Playgroud)

我的cmakelists.txt

cmake_minimum_required(VERSION 3.6)
project(test2)

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES main.cpp)
add_executable(test2 ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)

如果我运行构建,则会出现以下错误:

CMakeFiles\test2.dir/objects.a(main.cpp.obj): In function `main':
C:/Users/name/ClionProjects/test2/main.cpp:8: undefined reference to `number(int)'
....
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?我已经搜索了其他类似的问题并找到了一些解决方案,但是它们对我不起作用或者我不知道该怎么办。实际上,我在C-Project中遇到这个问题,但是问题是相同的,我认为解决方案将是相同的。
你能帮我么?
非常感谢你。

c++ reference undefined clion

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

Mandelbrot集中的形状

有趣的Mandelbrot Set箍和卷发器是否是浮点计算结果不准确的结果?

我已经编写了各种Mandelbrot Set实现,例如动态缩放和回放。有些使用定点算法,另一些使用FPU。

我已经看到了这个问题,这表明每个芽在数学上都是光滑的形状,周围有较小的芽。

海马形状之类的游行是否是计算机浮点算术限制的副作用,而不是实际的Mandelbrot集的副作用?

海马?由Spektre添加:

海马?


编辑:按照@ JL2210提供的赏金。

我一直想说的是,浮点算术,无论是定点还是固定有效,都无法保持迭代步骤的真实结果。Mandelbrot集的有趣部分在边界附近,并且在该区域中,迭代坐标可以在最终“转义”之前以循环近重复的形式重复进行数千次迭代。

我的问题是:算术运算是否会以导致模式失败的方式失败?据我所知,完美的曼德布罗集实际上是形状光滑的芽,围绕其他芽无限地排列。评论者说,算术越好,著名的海马等形状就越好,如果实施不当会产生模糊的图像,就可以看出这一点。但这只会使我的问题更加棘手:算术越精确,算术就越失败,直到随着坐标的变化而出现不连续,并且以略有不同的方式发展为失败为止。

无论如何,这是一个C函数,它使用x87 FPU迭代一个点。该代码不是最近的代码,可以利用正方形之间的差异来改进它,这仍然存在于我的古老“待办事项”列表中。

int MAXRAD = 4;
int K_LIMIT = 5000;
double REAL8, IMAG8;

int iterate (void)
// calculate Mandelbrot iterations of REAL8, IMAG8
// return iterations
{
int iters;

    __asm {

        FILD    DWORD PTR MAXRAD       ;MAX R^2
        FLD     QWORD PTR IMAG8        ;INIT Y VALUE
        FLD     QWORD PTR REAL8        ;INIT X VALUE

        FLD     ST(1)     ;WORKING Y = IMAG
        FLD     ST(1)     ;WORKING X = REAL

        MOV     ECX,DWORD …
Run Code Online (Sandbox Code Playgroud)

floating-point x86 assembly rounding mandelbrot

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