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

成功 半径1と 半径3の 円を描き その間を面にする

以下は、手順を説明するBlenderのPythonスクリプトです。このスクリプトは、半径1と半径3の円を描き、それらの間に面を作成する方法を示しています。

import bpy
import bmesh
import math

# Create a new mesh
mesh = bpy.data.meshes.new("Ring")

# Create a new object and link it to the scene
obj = bpy.data.objects.new("Ring", mesh)
bpy.context.collection.objects.link(obj)

# Create a bmesh and add vertices for the outer circle
bm = bmesh.new()
bm.from_mesh(mesh)
num_segments = 32
outer_radius = 3.0
verts_outer = []
for i in range(num_segments):
    theta = 2.0 * math.pi * float(i) / float(num_segments)
    x = outer_radius * math.cos(theta)
    y = outer_radius * math.sin(theta)
    v = bm.verts.new((x, y, 0.0))
    verts_outer.append(v)
bm.verts.ensure_lookup_table()

# Create edges for the outer circle
for i in range(num_segments):
    bm.edges.new((verts_outer[i], verts_outer[(i+1)%num_segments]))

# Add vertices for the inner circle
inner_radius = 1.0
verts_inner = []
for i in range(num_segments):
    theta = 2.0 * math.pi * float(i) / float(num_segments)
    x = inner_radius * math.cos(theta)
    y = inner_radius * math.sin(theta)
    v = bm.verts.new((x, y, 0.0))
    verts_inner.append(v)
bm.verts.ensure_lookup_table()

# Create edges for the inner circle
for i in range(num_segments):
    bm.edges.new((verts_inner[i], verts_inner[(i+1)%num_segments]))

# Connect the inner and outer circles with faces
for i in range(num_segments):
    bm.faces.new((verts_outer[i], verts_outer[(i+1)%num_segments], verts_inner[(i+1)%num_segments], verts_inner[i]))

# Convert the bmesh to a mesh
bm.to_mesh(mesh)
bm.free()



このスクリプトでは、最初に半径3の円の頂点を追加し、エッジを追加します。次に、半径1の円の頂点を追加し、エッジを追加します。最後に、内側の円と外側の円を面でつないで、リング状のメッシュを作成しています。

このスクリプトを実行する前に、Blenderのスクリプトエディターを開いて、新しいファイルを作成し、スクリプトをコピーして貼り付け、実行するだけです。リングが描かれ、面が作成されたら、オブジェクトを選択して編集することができます。







この面の表を 青 裏を 赤に塗りたい
以下はBlender内部の手順になります。

編集モードで、塗りたい面を選択します。
マテリアルタブに移動し、新しいマテリアルを作成します。
Diffuseカラーを青に設定し、Shadelessオプションをオンにします。
マテリアルのViewpor Colorを青に設定します。
オブジェクトモードに戻り、オブジェクトを選択します。
マテリアルモードに切り替え、先程作成したマテリアルを選択します。
「テクスチャを追加」をクリックし、「新しいテクスチャ」を選択します。
「Type」を「Image or Movie」に設定し、画像ファイルを選択します。
「Image Sampling」の「Alpha」をオフにし、シェーディングモードを「Material」に設定します。
「Object Data Properties」パネルの「Normals」セクションで「Auto Smooth」をオンにします。
編集モードに切り替え、面選択状態で「Face Orientation」を表示します。
赤い面を選択し、先程作成したマテリアルを割り当てます。
これで、選択した面が青で、その裏面が赤に塗られます。







togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad




twitter 新着検索 Dürer & 測距儀


aaa
bbb




ccc twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad

old page いいい
new page いいい

目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい

このブログの人気の投稿

球体で カシオペア座の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:     # マテリアルが割り当てら...

太陽から 土星

日本語で質問しますので、以下形式で回答してください。 【質問の英訳】 【英訳に対する英語の回答】 【英語の回答の日本語訳】 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):     ...