スキップしてメイン コンテンツに移動

2個の球体 成功

import bpy
import mathutils
import math
import random

# 2個の球体を作成
num_spheres = 2
radius = 1.0
min_distance = 2 * radius

# すでに配置された球体の位置を格納するリストを作成
positions = []

for i in range(num_spheres):
    # ランダムな位置を計算
    while True:
        x = random.uniform(-5.0, 5.0)
        y = random.uniform(-5.0, 5.0)
        z = random.uniform(-5.0, 5.0)
        pos = mathutils.Vector((x, y, z))

        # 他の球体との距離が一定の距離以上ある場合にのみ配置
        if all((pos - p).length > min_distance for p in positions):
            positions.append(pos)
            break

        # 距離が短い場合は、再度ランダムな位置を計算する

    bpy.ops.mesh.primitive_uv_sphere_add(location=pos, radius=radius)

# 全てのオブジェクトを選択
bpy.ops.object.select_all(action='SELECT')

# 平面に配置
bpy.ops.object.align(align_mode='OPT_1', relative_to='OPT_2', align_axis=(False, False, True), 
                     align_axis_orientation='GLOBAL', distribution='EVEN')

# 3Dビューポートを更新
bpy.context.view_layer.update()


あああああああああああああああああああああ

import bpy
import mathutils

import math


# Number of spheres
num_spheres = 5

# Radius of spheres
sphere_radius = 1.0

# Distance between spheres
sphere_distance = 2.0

# Calculate angle between spheres
angle = (2*math.pi)/num_spheres

# Loop through spheres and position them
for i in range(num_spheres):
    x = math.cos(i*angle)*sphere_distance
    y = math.sin(i*angle)*sphere_distance
    z = 0
    
    bpy.ops.mesh.primitive_uv_sphere_add(radius=sphere_radius, location=(x, y, z))

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


import bpy
import math
import mathutils

# Number of spheres
num_spheres = 5

# Radius of spheres
sphere_radius = 1.0

# Distance between spheres
sphere_distance = 2.0

# Calculate angle between spheres
angle = (2*math.pi)/num_spheres

# Loop through spheres and position them
for i in range(num_spheres):
    x = math.cos(i*angle)*sphere_distance
    y = math.sin(i*angle)*sphere_distance
    z = 0
    
    bpy.ops.mesh.primitive_uv_sphere_add(radius=sphere_radius, location=(x, y, z))


このブログの人気の投稿

太陽から 土星

日本語で質問しますので、以下形式で回答してください。 【質問の英訳】 【英訳に対する英語の回答】 【英語の回答の日本語訳】 blender 3.4.1 python スクリプト 書いて 冒頭に import math 挿入 内容は  太陽と土星を描いて 太陽の半径1 土星の半径0.5で 太陽から土星の距離を10で Question: Blender 3.4.1 Python script - write a script that includes "import math" at the beginning and draws the Sun and Saturn with a radius of 1 for the Sun and 0.5 for Saturn, with a distance of 10 from the Sun to Saturn. Answer: Here's a Python script for Blender 3.4.1 that draws the Sun and Saturn with the specified parameters: 太陽と土星の描画 成功 import bpy import math # Set up the scene bpy.ops.object.select_all(action='SELECT') bpy.ops.object.delete() bpy.ops.mesh.primitive_uv_sphere_add(radius=1, location=(0,0,0)) # create Sun sun = bpy.context.selected_objects[0] sun.name = 'Sun' bpy.ops.mesh.primitive_uv_sphere_add(radius=0.5, location=(10,0,0)) # create Saturn saturn = bpy.context.selected_objects[0] saturn.name = 'Saturn' # Create the animation frames = 100 for i in range(frames):     ...

球体で カシオペア座の5つの恒星 その3次元 宇宙内の相対位置を再現して

import bpy from random import randint # 球体を作成する関数 def create_sphere(x, y, z, radius):     bpy.ops.mesh.primitive_uv_sphere_add(location=(x, y, z), radius=radius) # ランダムな座標を返す関数 def random_location():     x = randint(-5, 5)     y = randint(-5, 5)     z = randint(-5, 5)     return (x, y, z) # 5つの球体を作成 for i in range(5):     location = random_location()     create_sphere(location[0], location[1], location[2], 1) ランダムではなく、 カシオペア座の5つの恒星 その3次元 宇宙内の相対位置を再現して カシオペア座の5つの恒星の相対位置を再現するためには、各恒星の座標を知る必要があります。これらの座標を手動で入力することもできますが、以下のように、座標データを使用することもできます。 import bpy # カシオペア座の5つの恒星の座標 coordinates = [(4.23, 56.87, 13.04),                 (3.19, 61.75, -0.28),                 (1.62, 58.75, -18.45),                 (0.11, 59.15, 16.52),                 (1....

Chat GPT で 長方体 cuboid 1x1x10 を描く

今回は  長方体 cuboid 1x1x10 を描く 平行6面体 blender 2023 初歩の初歩 005 ChatGPT で python 書いてもらい 16個の球体を正方形に並べて 描けた  https://togetter.com/li/2088342   blender 3.4.1 python で 透明な長方体を描いて 比率は 1x1x10 とにかく さっきの 冒頭に import math と書いて  先程提供したコードの冒頭にimport mathを追加することは、コードにエラーを引き起こすことはありません。 import bpy の 次の行に import math と書いたら 実行できたので もう一度 書き直して import mathを追加して、透明な長方体を描画するPythonコードを以下に示します。 import bpy import math # 透明なマテリアルを作成 mat = bpy.data.materials.new(name="Transparent") mat.use_nodes = True nodes = mat.node_tree.nodes links = mat.node_tree.links transparent_node = nodes.new(type="ShaderNodeBsdfTransparent") output_node = nodes.new(type="ShaderNodeOutputMaterial") links.new(transparent_node.outputs[0], output_node.inputs[0]) # 長方体を作成 bpy.ops.mesh.primitive_cube_add(size=1) cube = bpy.context.selected_objects[0] cube.scale = (1, 1, 10) # マテリアルを割り当て if cube.data.materials:     # マテリアルがすでに割り当てられている場合は、最初のマテリアルを置換する     cube.data.materials[0] = mat else:     # マテリアルが割り当てら...