小编Tho*_*itz的帖子

如何扩展JavaFX Shape类以实现自定义形状

我正在开发一个应用程序,以模拟某些特定于问题的2D几何体.当然,我想在屏幕上绘制该几何图形,供用户实际看到它.

JavaFX有一些2D形状,如矩形,椭圆等.它还有立方和四次曲线,实现为贝塞尔曲线.搜索自定义形状并没有帮助,因为我发现的所有内容都是采用路径等形状元素并将它们组合在一起绘制自定义形状(如心形或菱形)的示例.通过扩展Shape类来搜索有关如何实现新形状的信息甚至没那么有用.

我想要绘制的是任意顺序和长度的B样条曲线.我知道如何计算和实现Splines本身,但我不知道如何将它们实现为新的Shape或Shape Wrapper.

我查看了JavaFX的源代码和纪录片.似乎这些形状本身就是某种包装类.例如,Ellipse类包含一个椭圆作为成员,它是几何包的一部分.这种递归相当远.

现在必须有一些JavaFX用来实际绘制曲线的方法,但我找不到它.

那么如何扩展JavaFX Shape以创建例如Spline类?Java绘制它的关键是什么方法/类?

我希望有一个人可以帮助我.

你真诚的托尔斯滕

java javafx shape

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

多线程矩阵乘法

我最近开始在java中学习多线程.由于我正在为我的大学编写一个数值计算程序,我决定通过编程多线程矩阵乘法进行一些初步尝试.

这是我的代码.请记住,这只是作为第一次尝试,并不是很干净.

    public class MultithreadingTest{

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            double[][] matrix1 = randomSquareMatrix(2000);
            double[][] matrix2 = randomSquareMatrix(2000);

            matrixMultiplication(matrix1,matrix2,true);
            matrixMultiplicationSingleThread(matrix1, matrix2);
            try {
                matrixMultiplicationParallel(matrix1,matrix2, true);
            } catch (InterruptedException | ExecutionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            try {
                matrixMultiplicationParallel2(matrix1,matrix2, true);
            } catch (InterruptedException | ExecutionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

        public static double[][] randomSquareMatrix(int n){
            double[][] mat = new double[n][n];
            Random rand = new Random();
            for(int …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

CMake/Android 错误:“无法编译简单的测试程序”

我正在尝试编译 Android 的 CMake 项目。

我使用 QtCreator 创建和编译项目。使用 QMake 工作正常,但 CMake 项目不起作用。

CMake Project parsing failed.
Running "C:\Android\android-sdk\cmake\3.10.2.4988404\bin\cmake.exe -E server "--pipe=\\.\pipe\{78eb9a25-fbdf-4ac7-b840-8cfe89cbd883}" --experimental" in C:\Users\Thorsten\AppData\Local\Temp\QtCreator-Zmienl\qtc-cmake-KUabkXqG.
Starting to parse CMake project, using: "-DCMAKE_CXX_COMPILER:STRING=C:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe", "-DCMAKE_C_COMPILER:STRING=C:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe", "-DCMAKE_PREFIX_PATH:STRING=C:/Qt/5.13.0/android_x86_64", "-DQT_QMAKE_EXECUTABLE:STRING=C:/Qt/5.13.0/android_x86_64/bin/qmake.exe".
The CXX compiler identification is Clang 8.0.2
Check for working CXX compiler: C:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe
Check for working CXX compiler: C:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe -- broken
CMake Error at C:/Android/android-sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeTestCXXCompiler.cmake:45 (message):
  The C++ compiler

    "C:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change …
Run Code Online (Sandbox Code Playgroud)

c++ qt android cmake

5
推荐指数
0
解决办法
1790
查看次数

标签 统计

java ×2

android ×1

c++ ×1

cmake ×1

javafx ×1

multithreading ×1

qt ×1

shape ×1